[Tizen.Applications.ComponentBased][TCSACR-265][Add] Add ComponentBased application...
[platform/core/csapi/tizenfx.git] / src / Tizen.Applications.ComponentBased / Interop / Interop.CBApplication.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Runtime.InteropServices;
4 using System.Text;
5 using Tizen.Applications;
6
7 internal static partial class Interop
8 {
9     internal static partial class CBApplication
10     {
11         internal delegate void CBAppInitCallback(int argc, string[] argv, IntPtr userData);
12         internal delegate void CBAppFiniCallback(IntPtr userData);
13         internal delegate void CBAppRunCallback(IntPtr userData);
14         internal delegate void CBAppExitCallback(IntPtr userData);
15         internal delegate IntPtr CBAppCreateCallback(IntPtr userData);
16         internal delegate void CBAppTerminateCallback(IntPtr userData);
17         [StructLayoutAttribute(LayoutKind.Sequential)]
18         internal struct CBAppLifecycleCallbacks
19         {
20             public CBAppInitCallback OnInit;
21             public CBAppFiniCallback OnFinished;
22             public CBAppRunCallback OnRun;
23             public CBAppExitCallback OnExit;
24             public CBAppCreateCallback OnCreate;
25             public CBAppTerminateCallback OnTerminate;
26         }
27
28         internal enum ErrorCode : int
29         {
30             None = Tizen.Internals.Errors.ErrorCode.None,
31             InvalidParameter = Tizen.Internals.Errors.ErrorCode.InvalidParameter,
32             OutOfMemory = Tizen.Internals.Errors.ErrorCode.OutOfMemory,
33             InvalidContext = -0x03030000 | 0x01,
34             NotSupported = Tizen.Internals.Errors.ErrorCode.NotSupported,
35             NotFound = -0x03030000 | 0x02,
36             LaunchRejected = -0x03030000 | 0x03,
37             LaunchFailed = -0x03030000 | 0x04,
38             TimedOut = Tizen.Internals.Errors.ErrorCode.TimedOut,
39             PermissionDenied = Tizen.Internals.Errors.ErrorCode.PermissionDenied,
40         }
41
42         internal enum NativeComponentType
43         {
44             Frame = 0,
45             Service
46         }
47
48         internal enum NativeDisplayStatus {
49             On,
50             Off
51         }
52
53         internal delegate IntPtr FrameCreateCallback(IntPtr context, IntPtr userData);
54         internal delegate void FrameStartCallback(IntPtr context, IntPtr appControl, bool restarted, IntPtr userData);
55         internal delegate void FrameResumeCallback(IntPtr context, IntPtr userData);
56         internal delegate void FramePauseCallback(IntPtr context, IntPtr userData);
57         internal delegate void FrameStopCallback(IntPtr context, IntPtr userData);
58         internal delegate void FrameDestroyCallback(IntPtr context, IntPtr userData);
59         internal delegate void FrameRestoreCallback(IntPtr context, IntPtr content, IntPtr userData);
60         internal delegate void FrameSaveCallback(IntPtr context, IntPtr content, IntPtr userData);
61         internal delegate void FrameActionCallback(IntPtr context, string action, IntPtr appControl, IntPtr userData);
62         internal delegate void FrameDeviceOrientationChangedCallback(IntPtr context, int orientation, IntPtr userData);
63         internal delegate void FrameLanguageChangedCallback(IntPtr context, string language, IntPtr userData);
64         internal delegate void FrameRegionFormatChangedCallback(IntPtr context, string region, IntPtr userData);
65         internal delegate void FrameLowBatteryCallback(IntPtr context, int status, IntPtr userData);
66         internal delegate void FrameLowMemoryCallback(IntPtr context, int status, IntPtr userData);
67         internal delegate void FrameSuspendedStateCallback(IntPtr context, int state, IntPtr userData);
68
69         internal struct FrameLifecycleCallbacks
70         {
71             public FrameCreateCallback OnCreate;
72             public FrameStartCallback OnStart;
73             public FrameResumeCallback OnResume;
74             public FramePauseCallback OnPause;
75             public FrameStopCallback OnStop;
76             public FrameDestroyCallback OnDestroy;
77             public FrameRestoreCallback OnRestore;
78             public FrameSaveCallback OnSave;
79             public FrameActionCallback OnAction;
80             public FrameDeviceOrientationChangedCallback OnDeviceOrientationChanged;
81             public FrameLanguageChangedCallback OnLanguageChanged;
82             public FrameRegionFormatChangedCallback OnRegionFormatChanged;
83             public FrameLowBatteryCallback OnLowBattery;
84             public FrameLowMemoryCallback OnLowMemory;
85             public FrameSuspendedStateCallback OnSuspendedState;
86         }
87
88         internal delegate bool ServiceCreateCallback(IntPtr context, IntPtr userData);
89         internal delegate void ServiceStartCommandCallback(IntPtr context, IntPtr appControl, bool restarted, IntPtr userData);
90         internal delegate void ServiceDestroyCallback(IntPtr context, IntPtr userData);
91         internal delegate void ServiceRestoreCallback(IntPtr context, IntPtr content, IntPtr userData);
92         internal delegate void ServiceSaveCallback(IntPtr context, IntPtr content, IntPtr userData);
93         internal delegate void ServiceActionCallback(IntPtr context, string action, IntPtr appControl, IntPtr userData);
94         internal delegate void ServiceDeviceOrientationChangedCallback(IntPtr context, int orientation, IntPtr userData);
95         internal delegate void ServiceLanguageChangedCallback(IntPtr context, string language, IntPtr userData);
96         internal delegate void ServiceRegionFormatChangedCallback(IntPtr context, string region, IntPtr userData);
97         internal delegate void ServiceLowBatteryCallback(IntPtr context, int status, IntPtr userData);
98         internal delegate void ServiceLowMemoryCallback(IntPtr context, int status, IntPtr userData);
99         internal delegate void ServiceSuspendedStateCallback(IntPtr context, int state, IntPtr userData);
100
101         internal struct ServiceLifecycleCallbacks
102         {
103             public ServiceCreateCallback OnCreate;
104             public ServiceStartCommandCallback OnStart;
105             public ServiceDestroyCallback OnDestroy;
106             public ServiceRestoreCallback OnRestore;
107             public ServiceSaveCallback OnSave;
108             public ServiceActionCallback OnAction;
109             public ServiceDeviceOrientationChangedCallback OnDeviceOrientationChanged;
110             public ServiceLanguageChangedCallback OnLanguageChanged;
111             public ServiceRegionFormatChangedCallback OnRegionFormatChanged;
112             public ServiceLowBatteryCallback OnLowBattery;
113             public ServiceLowMemoryCallback OnLowMemory;
114             public ServiceSuspendedStateCallback OnSuspendedState;
115         }
116
117         internal delegate IntPtr BaseCreateCallback(IntPtr context, IntPtr userData);
118         internal delegate void BaseDestroyCallback(IntPtr context, IntPtr userData);
119         internal delegate void BaseRestoreCallback(IntPtr context, IntPtr content, IntPtr userData);
120         internal delegate void BaseSaveCallback(IntPtr context, IntPtr content, IntPtr userData);
121         internal delegate void BaseDeviceOrientationChangedCallback(IntPtr context, int orientation, IntPtr userData);
122         internal delegate void BaseLanguageChangedCallback(IntPtr context, string language, IntPtr userData);
123         internal delegate void BaseRegionFormatChangedCallback(IntPtr context, string region, IntPtr userData);
124         internal delegate void BaseLowBatteryCallback(IntPtr context, int status, IntPtr userData);
125         internal delegate void BaseLowMemoryCallback(IntPtr context, int status, IntPtr userData);
126         internal delegate void BaseSuspendedStateCallback(IntPtr context, int state, IntPtr userData);
127
128         [DllImport(Libraries.CompCoreBase, EntryPoint = "component_based_app_base_main")]
129         internal static extern ErrorCode BaseMain(int argc, string[] argv, ref CBAppLifecycleCallbacks callback, IntPtr userData);
130
131         [DllImport(Libraries.CompCoreBase, EntryPoint = "component_based_app_base_exit")]
132         internal static extern ErrorCode BaseExit();
133
134         [DllImport(Libraries.CompCoreBase, EntryPoint = "component_based_app_base_add_frame_component")]
135         internal static extern IntPtr BaseAddFrameComponent(IntPtr comp_class, string compId, ref FrameLifecycleCallbacks callback, IntPtr userData);
136
137         [DllImport(Libraries.CompCoreBase, EntryPoint = "component_based_app_base_add_service_component")]
138         internal static extern IntPtr BaseAddServiceComponent(IntPtr comp_class, string compId, ref ServiceLifecycleCallbacks callback, IntPtr userData);
139
140         [DllImport(Libraries.CompCoreBase, EntryPoint = "base_frame_create_window")]
141         internal static extern IntPtr BaseFrameCreateWindow(out IntPtr winHandle, int winId, IntPtr raw);
142
143         [DllImport(Libraries.CompCoreBase, EntryPoint = "base_frame_window_get_compId")]
144         internal static extern IntPtr BaseFrameWindowGetId(IntPtr winHandle, out int winId);
145
146         [DllImport(Libraries.CompCoreBase, EntryPoint = "base_frame_window_get_raw")]
147         internal static extern IntPtr BaseFrameWindowGetRaw(IntPtr winHandle, out IntPtr raw);
148
149         [DllImport(Libraries.CompCoreBase, EntryPoint = "base_frame_get_display_status")]
150         internal static extern ErrorCode BaseFrameGetDisplayStatus(IntPtr context, out NativeDisplayStatus status);
151
152         [DllImport(Libraries.CompCoreBase, EntryPoint = "component_get_instance_id")]
153         internal static extern ErrorCode GetInstanceId(IntPtr context, out string instanceId);
154
155         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
156         internal delegate void ReplyCallback(IntPtr request, IntPtr reply, int result, IntPtr userData);
157
158         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
159         internal delegate void ResultCallback(IntPtr request, int result, IntPtr userData);
160
161         [DllImport(Libraries.CompCoreBase, EntryPoint = "component_send_launch_request_async")]
162         internal static extern ErrorCode SendLaunchRequestAsync(IntPtr context, SafeAppControlHandle appControl,
163             ResultCallback resultCallback, ReplyCallback replyCallback, IntPtr userData);
164
165         [DllImport(Libraries.CompCoreBase, EntryPoint = "component_send_launch_request_sync")]
166         internal static extern ErrorCode SendLaunchRequestSync(IntPtr context, SafeAppControlHandle appControl,
167             SafeAppControlHandle replyControl, out int result);
168
169         [DllImport(Libraries.CompCoreBase, EntryPoint = "component_finish")]
170         internal static extern ErrorCode ComponentFinish(IntPtr context);
171     }
172 }