0 purchases
tizen interop
tizen_interop #
Provides Dart bindings for Tizen native APIs, powered by ffigen.
Usage #
To use this package, add ffi and tizen_interop as dependencies in your pubspec.yaml file.
dependencies:
ffi: ^2.0.1
tizen_interop: ^0.3.0
copied to clipboard
Then, import package:ffi/ffi.dart and package:tizen_interop/[TIZEN_VERSION]/tizen.dart in your Dart code.
import 'package:ffi/ffi.dart';
import 'package:tizen_interop/5.5/tizen.dart';
copied to clipboard
Examples #
// Getting a string value from the Native API.
// Prefer using `arena` to allocate memory because it frees the memory
// automatically when the `using` block ends.
String appName = using((Arena arena) {
Pointer<Pointer<Char>> ppStr = arena();
if (tizen.app_get_name(ppStr) == 0) {
// The memory allocated by the Native API must be freed by the caller.
arena.using(ppStr.value, calloc.free);
return ppStr.value.toDartString();
}
return 'unknown';
});
// Passing a string value to the Native API.
// The memory allocated by the `toNativeChar` method must be freed by
// the caller. The `arena` allocator will free it automatically.
using((Arena arena) {
Pointer<Char> pKey =
'tizen_interop_test_key_for_int'.toNativeChar(allocator: arena);
tizen.preference_set_int(pKey, 100);
});
// Getting an integer value from the Native API.
int preferenceValue = using((Arena arena) {
Pointer<Char> pKey =
'tizen_interop_test_key_for_int'.toNativeChar(allocator: arena);
Pointer<Int> pValue = arena();
if (tizen.preference_get_int(pKey, pValue) == 0) {
return pValue.value;
}
return 0;
});
// Getting a struct value from the Native API.
int freeMemory = using((Arena arena) {
Pointer<runtime_memory_info_s> pMemInfo = arena();
if (tizen.runtime_info_get_system_memory_info(pMemInfo) == 0) {
return pMemInfo.ref.free;
}
return 0;
});
// Both sync and async callbacks are supported as long as they are called on
// the same thread.
tizen.storage_foreach_device_supported(
Pointer.fromFunction(_storageDevice, false), nullptr);
// Callbacks that are called outside the current thread will cause the error:
// "Cannot invoke native callback outside an isolate".
// See the tizen_interop_callbacks package for a solution.
copied to clipboard
Supported APIs #
This package provides bindings for the following APIs of the Tizen IoT-Headed (or Common for Tizen 8.0 and above) profile.
Note: UI and WebView related APIs are not included.
Category
Sub category
Tizen 5.5
Tizen 6.0
Tizen 6.5
Tizen 7.0
Tizen 8.0
Account
Account Manager
✔
✔
✔
✔
✔
FIDO Client
✔
✔
✔
✔
✔
Account Manager
✔
✔
✔
✔
✔
OAuth 2.0
✔
✔
✔
✔
✔
Sync Manager
✔
✔
✔
✔
✔
Application Framework
Application
✔
✔
✔
✔
✔
Alarm
✔
✔
✔
✔
✔
App Common
✔
✔
✔
✔
✔
App Control
✔
✔
✔
✔
✔
App Control URI
✔
✔
✔
Event
✔
✔
✔
✔
✔
Internationalization
✔
✔
✔
✔
✔
Job scheduler
✔
✔
✔
✔
✔
Preference
✔
✔
✔
✔
✔
Resource Manager
✔
✔
✔
✔
✔
Application Manager
✔
✔
✔
✔
✔
Attach panel
Badge
✔
✔
✔
✔
✔
Bundle
✔
✔
✔
✔
✔
Cion
✔
✔
✔
Component Based Application
Component Manager
Data Control
✔
✔
✔
✔
✔
Message Port
✔
✔
✔
✔
✔
Notification
✔
✔
✔
✔
✔
Notification EX
✔
✔
✔
✔
✔
Package Manager
✔
✔
✔
✔
✔
RPC Port
✔
✔
✔
✔
✔
Service Application
✔
✔
✔
✔
✔
Shortcut
✔
✔
✔
Widget
Base
Common Error
✔
✔
✔
✔
✔
Utils
Content
Download
✔
✔
✔
✔
✔
MIME Type
✔
✔
✔
✔
✔
Media Content
✔
✔
✔
✔
✔
Context
Activity Recognition
✔
✔
Contextual History
✔
✔
✔
✔
✔
Contextual Trigger
✔
✔
✔
✔
✔
Gesture Recognition
✔
✔
Location
Geofence Manager
✔
✔
✔
✔
✔
Location Manager
✔
✔
✔
✔
✔
Maps Service
Machine Learning
Pipeline
✔
✔
✔
Service
✔
✔
Single
✔
✔
✔
Trainer
✔
✔
✔
Messaging
Email
✔
✔
✔
✔
✔
Messages
Push
✔
✔
✔
✔
✔
Multimedia
Audio I/O
✔
✔
✔
✔
✔
Camera
✔
✔
✔
✔
✔
Image Util
✔
✔
✔
✔
✔
Media Codec
✔
✔
✔
✔
✔
Media Controller
✔
✔
✔
✔
✔
Media Demuxer
✔
✔
✔
✔
✔
Media Muxer
✔
✔
✔
✔
✔
Media Streamer
✔
✔
✔
✔
✔
Media Tool
✔
✔
✔
✔
✔
Media Vision
✔
✔
✔
✔
✔
Media Editor
✔
✔
Metadata Editor
✔
✔
✔
✔
✔
Metadata Extractor
✔
✔
✔
✔
✔
Player
✔
✔
✔
✔
✔
Radio
✔
✔
✔
✔
✔
Recorder
✔
✔
✔
✔
✔
Screen Mirroring
✔
✔
✔
✔
✔
Sound Manager
✔
✔
✔
✔
✔
Sound Pool
✔
✔
✔
✔
✔
StreamRecorder
✔
✔
✔
✔
✔
Thumbnail Util
✔
✔
✔
✔
✔
Tone Player
✔
✔
✔
✔
✔
Video Util
WAV Player
✔
✔
✔
✔
✔
WebRTC
✔
✔
✔
Network
Application Service Platform
✔
✔
✔
✔
✔
Bluetooth
✔
✔
✔
✔
✔
Connection
✔
✔
✔
✔
✔
DNSSD
✔
✔
✔
✔
✔
HTTP
✔
✔
✔
✔
✔
Intelligent Network Monitoring
✔
✔
✔
✔
✔
IoTCon
✔
✔
✔
✔
✔
MTP
✔
✔
✔
✔
✔
SSDP
✔
✔
✔
✔
✔
Smart Traffic Control
✔
✔
✔
✔
✔
Smartcard
SoftAP
✔
✔
✔
✔
✔
User Awareness
VPN Service
✔
✔
✔
✔
✔
Wi-Fi
✔
✔
✔
✔
✔
Wi-Fi Direct
✔
✔
✔
✔
✔
Security
CSR
✔
✔
✔
✔
✔
Device Certificate Manager
✔
✔
✔
✔
✔
Device Policy Manager
✔
✔
✔
✔
✔
Key Manager
✔
✔
✔
✔
✔
Privacy Privilege Manager
✔
✔
✔
✔
✔
Privilege Info
✔
✔
✔
✔
✔
YACA
✔
✔
✔
✔
✔
Social
Calendar
✔
✔
✔
✔
✔
Contacts
✔
✔
✔
✔
✔
Phonenumber utils
✔
✔
✔
✔
✔
System
Device
✔
✔
✔
✔
✔
Diagnostics
✔
✔
Dlog
✔
✔
✔
✔
✔
Feedback
✔
✔
✔
✔
✔
Media key
✔
✔
✔
✔
✔
Monitor
✔
✔
Peripheral IO
✔
✔
✔
✔
✔
Runtime information
✔
✔
✔
✔
✔
Sensor
✔
✔
✔
✔
✔
Storage
✔
✔
✔
✔
✔
System Information
✔
✔
✔
✔
✔
System Settings
✔
✔
✔
✔
✔
T-trace
✔
✔
✔
✔
✔
USB Host
✔
✔
✔
✔
✔
Update Control
✔
✔
✔
✔
✔
Telephony
Telephony Information
UI
Clipboard History Manager
✔
✔
✔
✔
DALi
EFL
External Output Manager
✔
✔
✔
✔
✔
Minicontrol
TBM Surface
✔
✔
✔
✔
✔
Tizen WS Shell
UI View Manager
UIX
Autofill
✔
✔
✔
✔
✔
Input Method
✔
✔
✔
✔
✔
Input Method Manager
✔
✔
✔
✔
✔
Multi assistant
✔
✔
✔
✔
✔
STT
✔
✔
✔
✔
✔
STT Engine
✔
✔
✔
✔
✔
Sticker
TTS
✔
✔
✔
✔
✔
TTS Engine
✔
✔
✔
✔
✔
Voice control
✔
✔
✔
✔
✔
Voice control elementary
Voice control engine
✔
✔
✔
✔
✔
Voice control manager
✔
✔
✔
✔
✔
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.