2 using System.Runtime.InteropServices;
3 using Tizen.Applications;
6 /// Interoperability support class for Tizen APIs
8 internal static partial class Interop
11 /// Interoperability support class for the attach panel APIs
13 internal static partial class AttachPanel
15 internal enum ErrorCode : int
17 None = Tizen.Internals.Errors.ErrorCode.None,
18 InvalidParameter = Tizen.Internals.Errors.ErrorCode.InvalidParameter,
19 OutOfMemory = Tizen.Internals.Errors.ErrorCode.OutOfMemory,
20 PermissionDenied = Tizen.Internals.Errors.ErrorCode.PermissionDenied,
21 AlreadyExists = -0x02850000 | 0x01,
22 NotInitialized = -0x02850000 | 0x02,
23 UnsupportedContentCategory = -0x02850000 | 0x03,
24 AlreadyDestroyed = -0x02850000 | 0x05,
27 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
28 internal delegate void AttachPanelEventCallback(IntPtr attachPanel, int eventType, IntPtr eventInfo, IntPtr userData);
29 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
30 internal delegate void AttachPanelResultCallback(IntPtr attachPanel, int category, IntPtr result, int resultCode, IntPtr userData);
32 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_create")]
33 internal static extern ErrorCode CreateAttachPanel(IntPtr conform, ref IntPtr attach_panel);
35 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_destroy")]
36 internal static extern ErrorCode DestroyAttachPanel(IntPtr attach_panel);
38 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_add_content_category")]
39 internal static extern ErrorCode AddCategory(IntPtr attach_panel, int content_category, IntPtr extraData);
41 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_remove_content_category")]
42 internal static extern ErrorCode RemoveCategory(IntPtr attach_panel, int content_category);
44 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_set_extra_data")]
45 internal static extern ErrorCode SetExtraData(IntPtr attach_panel, int content_category, IntPtr extraData);
47 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_set_result_cb")]
48 internal static extern ErrorCode SetResultCb(IntPtr attach_panel, AttachPanelResultCallback callback, IntPtr userData);
50 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_unset_result_cb")]
51 internal static extern ErrorCode UnsetResultCb(IntPtr attach_panel);
53 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_set_event_cb")]
54 internal static extern ErrorCode SetEventCb(IntPtr attach_panel, AttachPanelEventCallback callback, IntPtr userData);
56 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_unset_event_cb")]
57 internal static extern ErrorCode UnsetEventCb(IntPtr attach_panel);
59 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_show")]
60 internal static extern ErrorCode Show(IntPtr attach_panel);
62 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_show_without_animation")]
63 internal static extern ErrorCode ShowWithoutAnimation(IntPtr attach_panel);
65 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_hide")]
66 internal static extern ErrorCode Hide(IntPtr attach_panel);
68 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_hide_without_animation")]
69 internal static extern ErrorCode HideWithoutAnimation(IntPtr attach_panel);
71 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_get_visibility")]
72 internal static extern ErrorCode GetVisibility(IntPtr attach_panel, out int visible);
74 [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_get_state")]
75 internal static extern ErrorCode GetState(IntPtr attach_panel, out int state);