Refactoring error handling related code
[platform/core/csapi/media-content.git] / Tizen.Content.MediaContent / Interop / Interop.MediaGroup.cs
1 using System;
2 using System.Runtime.InteropServices;
3 using Tizen.Content.MediaContent;
4
5 internal static partial class Interop
6 {
7     internal static partial class Group
8     {
9         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_count_from_db")]
10         internal static extern MediaContentError MediaAlbumGetAlbumCountFromDb(IntPtr filter, out int album_count);
11
12         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_media_count_from_db")]
13         internal static extern MediaContentError MediaAlbumGetMediaCountFromDb(int album_id, IntPtr filter, out int media_count);
14
15         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_destroy")]
16         internal static extern MediaContentError MediaAlbumDestroy(IntPtr album);
17
18         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_clone")]
19         internal static extern MediaContentError MediaAlbumClone(out IntPtr dst, IntPtr src);
20
21         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_id")]
22         internal static extern MediaContentError MediaAlbumGetAlbumId(IntPtr album, out int album_id);
23
24         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_name")]
25         internal static extern MediaContentError MediaAlbumGetName(IntPtr album, out string album_name);
26
27         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_artist")]
28         internal static extern MediaContentError MediaAlbumGetArtist(IntPtr album, out string artist);
29
30         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_art")]
31         internal static extern MediaContentError MediaAlbumGetAlbumArt(IntPtr album, out string album_art);
32
33         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_from_db")]
34         internal static extern MediaContentError MediaAlbumGetAlbumFromDb(int album_id, out IntPtr album);
35
36         [DllImport(Libraries.MediaContent, EntryPoint = "media_group_get_group_count_from_db")]
37         internal static extern MediaContentError GetGroupCountFromDb(IntPtr filter, MediaGroupType group, out int group_count);
38
39         [DllImport(Libraries.MediaContent, EntryPoint = "media_group_get_media_count_from_db")]
40         internal static extern MediaContentError GetMediaCountFromDb(string group_name, MediaGroupType group, IntPtr filter, out int media_count);
41
42         //Callbacks
43         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
44         internal delegate bool MediaInfoCallback(IntPtr mediaInformation, IntPtr data);
45
46         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
47         internal delegate bool MediaGroupCallback(string groupName, IntPtr data);
48
49         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
50         internal delegate bool MediaAlbumCallback(IntPtr albumHandle, IntPtr data);
51
52         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_foreach_album_from_db")]
53         internal static extern MediaContentError MediaAlbumForeachAlbumFromDb(IntPtr filter, MediaAlbumCallback callback, IntPtr user_data);
54
55         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_foreach_media_from_db")]
56         internal static extern MediaContentError MediaAlbumForeachMediaFromDb(int albumId, IntPtr filter, MediaInfoCallback callback, IntPtr user_data);
57
58         [DllImport(Libraries.MediaContent, EntryPoint = "media_group_foreach_group_from_db")]
59         internal static extern MediaContentError ForeachGroupFromDb(IntPtr filter, MediaGroupType group, MediaGroupCallback callback, IntPtr user_data);
60
61         [DllImport(Libraries.MediaContent, EntryPoint = "media_group_foreach_media_from_db")]
62         internal static extern MediaContentError ForeachMediaFromDb(string groupName, MediaGroupType group, IntPtr filter, MediaInfoCallback callback, IntPtr user_data);
63     }
64 }