[MediaController] Code refactoring
[platform/core/csapi/tizenfx.git] / src / Tizen.Multimedia / Interop / Interop.MediaController.cs
1 using System;
2 using System.Runtime.InteropServices;
3 using Tizen.Applications;
4 using Tizen.Multimedia.MediaController;
5
6 internal static partial class Interop
7 {
8     internal static partial class MediaControllerClient
9     {
10         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
11         internal delegate void ServerUpdatedCallback(string serverName, MediaControllerServerState serverState, IntPtr userData);
12
13         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
14         internal delegate void PlaybackUpdatedCallback(string serverName, IntPtr playback, IntPtr userData);
15
16         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
17         internal delegate void MetadataUpdatedCallback(string serverName, IntPtr metadata, IntPtr userData);
18
19         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
20         internal delegate void ShuffleModeUpdatedCallback(string serverName, MediaControllerShuffleMode shuffleMode, IntPtr userData);
21
22         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
23         internal delegate void RepeatModeUpdatedCallback(string serverName, MediaControllerRepeatMode repeatMode, IntPtr userData);
24
25         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
26         internal delegate void CommandReplyRecievedCallback(string serverName, int result, IntPtr bundle, IntPtr userData);
27
28         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
29         internal delegate bool SubscribedServerCallback(string serverName, IntPtr userData);
30
31         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
32         internal delegate bool ActivatedServerCallback(string serverName, IntPtr userData);
33
34         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_create")]
35         internal static extern MediaControllerError Create(out IntPtr handle);
36
37         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_destroy")]
38         internal static extern MediaControllerError Destroy(IntPtr handle);
39
40         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_set_server_update_cb")]
41         internal static extern MediaControllerError SetServerUpdatedCb(IntPtr handle, ServerUpdatedCallback callback, IntPtr userData);
42
43         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_unset_server_update_cb")]
44         internal static extern MediaControllerError UnsetServerUpdatedCb(IntPtr handle);
45
46         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_set_playback_update_cb")]
47         internal static extern MediaControllerError SetPlaybackUpdatedCb(IntPtr handle, PlaybackUpdatedCallback callback, IntPtr userData);
48
49         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_unset_playback_update_cb")]
50         internal static extern MediaControllerError UnsetPlaybackUpdatedCb(IntPtr handle);
51
52         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_set_metadata_update_cb")]
53         internal static extern MediaControllerError SetMetadataUpdatedCb(IntPtr handle, MetadataUpdatedCallback callback, IntPtr userData);
54
55         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_unset_metadata_update_cb")]
56         internal static extern MediaControllerError UnsetMetadataUpdatedCb(IntPtr handle);
57
58         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_set_shuffle_mode_update_cb")]
59         internal static extern MediaControllerError SetShuffleModeUpdatedCb(IntPtr handle, ShuffleModeUpdatedCallback callback, IntPtr userData);
60
61         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_unset_shuffle_mode_update_cb")]
62         internal static extern MediaControllerError UnsetShuffleModeUpdatedCb(IntPtr handle);
63
64         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_set_repeat_mode_update_cb")]
65         internal static extern MediaControllerError SetRepeatModeUpdatedCb(IntPtr handle, RepeatModeUpdatedCallback callback, IntPtr userData);
66
67         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_unset_repeat_mode_update_cb")]
68         internal static extern MediaControllerError UnsetRepeatModeUpdatedCb(IntPtr handle);
69
70         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_subscribe")]
71         internal static extern MediaControllerError Subscribe(IntPtr handle, MediaControllerSubscriptionType subscriptionType, string serverName);
72
73         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_unsubscribe")]
74         internal static extern MediaControllerError Unsubscribe(IntPtr handle, MediaControllerSubscriptionType subscriptionType, string serverName);
75
76         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_get_playback_state")]
77         internal static extern MediaControllerError GetPlaybackState(IntPtr playback, out MediaControllerPlaybackState state);
78
79         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_get_playback_position")]
80         internal static extern MediaControllerError GetPlaybackPosition(IntPtr playback, out ulong position);
81
82         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_destroy_playback")]
83         internal static extern MediaControllerError DestroyPlayback(IntPtr playback);
84
85         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_get_metadata")]
86         internal static extern MediaControllerError GetMetadata(IntPtr metadata, MediaControllerAttributes attribute, out string value);
87
88         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_destroy_metadata")]
89         internal static extern MediaControllerError DestroyMetadata(IntPtr metadata);
90
91         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_get_latest_server_info")]
92         internal static extern MediaControllerError GetLatestServer(IntPtr handle, out string serverName, out MediaControllerServerState serverState);
93
94         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_get_server_playback_info")]
95         internal static extern MediaControllerError GetServerPlayback(IntPtr handle, string serverName, out IntPtr playback);
96
97         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_get_server_metadata")]
98         internal static extern MediaControllerError GetServerMetadata(IntPtr handle, string serverName, out IntPtr metadata);
99
100         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_get_server_shuffle_mode")]
101         internal static extern MediaControllerError GetServerShuffleMode(IntPtr handle, string serverName, out MediaControllerShuffleMode mode);
102
103         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_get_server_repeat_mode")]
104         internal static extern MediaControllerError GetServerRepeatMode(IntPtr handle, string serverName, out MediaControllerRepeatMode mode);
105
106         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_send_playback_state_command")]
107         internal static extern MediaControllerError SendPlaybackStateCommand(IntPtr handle, string serverName, MediaControllerPlaybackState state);
108
109         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_send_custom_command")]
110         internal static extern MediaControllerError SendCustomCommand(IntPtr handle, string serverName, string command, SafeBundleHandle bundle, CommandReplyRecievedCallback callback, IntPtr userData);
111
112         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_foreach_server_subscribed")]
113         internal static extern MediaControllerError ForeachSubscribedServer(IntPtr handle, MediaControllerSubscriptionType subscriptionType, SubscribedServerCallback callback, IntPtr userData);
114
115         [DllImport(Libraries.MediaController, EntryPoint = "mc_client_foreach_server")]
116         internal static extern MediaControllerError ForeachActivatedServer(IntPtr handle, ActivatedServerCallback callback, IntPtr userData);
117     }
118
119     internal static partial class MediaControllerServer
120     {
121         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
122         internal delegate void PlaybackStateCommandRecievedCallback(string clientName, MediaControllerPlaybackState state, IntPtr userData);
123
124         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
125         internal delegate void CustomCommandRecievedCallback(string clientName, string command, IntPtr bundle, IntPtr userData);
126
127         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_create")]
128         internal static extern MediaControllerError Create(out IntPtr handle);
129
130         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_destroy")]
131         internal static extern MediaControllerError Destroy(IntPtr handle);
132
133         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_set_playback_state")]
134         internal static extern MediaControllerError SetPlaybackState(IntPtr handle, MediaControllerPlaybackState state);
135
136         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_set_playback_position")]
137         internal static extern MediaControllerError SetPlaybackPosition(IntPtr handle, ulong position);
138
139         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_update_playback_info")]
140         internal static extern MediaControllerError UpdatePlayback(IntPtr handle);
141
142         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_set_metadata")]
143         internal static extern MediaControllerError SetMetadata(IntPtr handle, MediaControllerAttributes attribute, string value);
144
145         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_update_metadata")]
146         internal static extern MediaControllerError UpdateMetadata(IntPtr handle);
147
148         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_update_shuffle_mode")]
149         internal static extern MediaControllerError UpdateShuffleMode(IntPtr handle, MediaControllerShuffleMode mode);
150
151         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_update_repeat_mode")]
152         internal static extern MediaControllerError UpdateRepeatMode(IntPtr handle, MediaControllerRepeatMode mode);
153
154         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_set_playback_state_command_received_cb")]
155         internal static extern MediaControllerError SetPlaybackStateCmdRecvCb(IntPtr handle, PlaybackStateCommandRecievedCallback callback, IntPtr userData);
156
157         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_unset_playback_state_command_received_cb")]
158         internal static extern MediaControllerError UnsetPlaybackStateCmdRecvCb(IntPtr handle);
159
160         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_set_custom_command_received_cb")]
161         internal static extern MediaControllerError SetCustomCmdRecvCb(IntPtr handle, CustomCommandRecievedCallback callback, IntPtr userData);
162
163         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_unset_custom_command_received_cb")]
164         internal static extern MediaControllerError UnsetCustomCmdRecvCb(IntPtr handle);
165
166         [DllImport(Libraries.MediaController, EntryPoint = "mc_server_send_command_reply")]
167         internal static extern MediaControllerError SendCommandReply(IntPtr handle, string clientName, int result, SafeBundleHandle bundle);
168     }
169 }