tizen_interop 0.2.4 tizen_interop: ^0.2.4 copied to clipboard
Dart bindings and utilities for using Tizen native APIs.
tizen_interop #
Provides Dart bindings and utilities for using Tizen native APIs.
Warning
This package is currently under testing and not intended for production use. Some APIs may be missing or have errors.
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.4
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 of the following APIs of Tizen IoT-Headed profile:
Note: UI and WebView related APIs are not provided.
Category | Sub Category | Tizen 4.0 | Tizen 5.0 | Tizen 5.5 | Tizen 6.0 | Tizen 6.5 |
---|---|---|---|---|---|---|
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 | ✔ | ||||
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 | ✔ | ✔ | ✔ | ✔ | ✔ | |
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 | ✔ | ✔ | ✔ | ✔ | ✔ | |
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 | ✔ | ✔ | ✔ |