tizen_interop 0.2.6 tizen_interop: ^0.2.6 copied to clipboard
Dart bindings for Tizen native APIs, powered by ffigen.
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.2.6
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/4.0/tizen.dart';
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;
});
Supported APIs #
This package provides bindings for the following APIs of the Tizen IoT-Headed profile.
Note: UI and WebView related APIs are not included.
Category | Sub category | Tizen 4.0 | Tizen 5.0 | Tizen 5.5 | Tizen 6.0 | Tizen 6.5 | Tizen 7.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 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
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 | ✔ | ✔ | ✔ | ✔ |