using System; using System.Runtime.InteropServices; using Tizen.Applications; /// /// Interoperability support class for Tizen APIs /// internal static partial class Interop { /// /// Interoperability support class for the attach panel APIs /// internal static partial class AttachPanel { internal enum ErrorCode : int { None = Tizen.Internals.Errors.ErrorCode.None, InvalidParameter = Tizen.Internals.Errors.ErrorCode.InvalidParameter, OutOfMemory = Tizen.Internals.Errors.ErrorCode.OutOfMemory, PermissionDenied = Tizen.Internals.Errors.ErrorCode.PermissionDenied, AlreadyExists = -0x02850000 | 0x01, NotInitialized = -0x02850000 | 0x02, UnsupportedContentCategory = -0x02850000 | 0x03, AlreadyDestroyed = -0x02850000 | 0x05, } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] internal delegate void AttachPanelEventCallback(IntPtr attachPanel, int eventType, IntPtr eventInfo, IntPtr userData); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] internal delegate void AttachPanelResultCallback(IntPtr attachPanel, int category, IntPtr result, int resultCode, IntPtr userData); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_create")] internal static extern ErrorCode CreateAttachPanel(IntPtr conform, ref IntPtr attach_panel); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_destroy")] internal static extern ErrorCode DestroyAttachPanel(IntPtr attach_panel); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_add_content_category")] internal static extern ErrorCode AddCategory(IntPtr attach_panel, int content_category, IntPtr extraData); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_remove_content_category")] internal static extern ErrorCode RemoveCategory(IntPtr attach_panel, int content_category); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_set_extra_data")] internal static extern ErrorCode SetExtraData(IntPtr attach_panel, int content_category, IntPtr extraData); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_set_result_cb")] internal static extern ErrorCode SetResultCb(IntPtr attach_panel, AttachPanelResultCallback callback, IntPtr userData); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_unset_result_cb")] internal static extern ErrorCode UnsetResultCb(IntPtr attach_panel); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_set_event_cb")] internal static extern ErrorCode SetEventCb(IntPtr attach_panel, AttachPanelEventCallback callback, IntPtr userData); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_unset_event_cb")] internal static extern ErrorCode UnsetEventCb(IntPtr attach_panel); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_show")] internal static extern ErrorCode Show(IntPtr attach_panel); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_show_without_animation")] internal static extern ErrorCode ShowWithoutAnimation(IntPtr attach_panel); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_hide")] internal static extern ErrorCode Hide(IntPtr attach_panel); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_hide_without_animation")] internal static extern ErrorCode HideWithoutAnimation(IntPtr attach_panel); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_get_visibility")] internal static extern ErrorCode GetVisibility(IntPtr attach_panel, out int visible); [DllImport(Libraries.AttachPanel, EntryPoint = "attach_panel_get_state")] internal static extern ErrorCode GetState(IntPtr attach_panel, out int state); } }