2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 using System.Runtime.InteropServices;
20 using Tizen.Content.MediaContent;
22 internal static partial class Interop
24 internal static partial class Group
26 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_count_from_db")]
27 internal static extern MediaContentError MediaAlbumGetAlbumCountFromDb(IntPtr filter, out int album_count);
29 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_media_count_from_db")]
30 internal static extern MediaContentError MediaAlbumGetMediaCountFromDb(int album_id, IntPtr filter, out int media_count);
32 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_destroy")]
33 internal static extern MediaContentError MediaAlbumDestroy(IntPtr album);
35 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_clone")]
36 internal static extern MediaContentError MediaAlbumClone(out IntPtr dst, IntPtr src);
38 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_id")]
39 internal static extern MediaContentError MediaAlbumGetAlbumId(IntPtr album, out int album_id);
41 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_name")]
42 internal static extern MediaContentError MediaAlbumGetName(IntPtr album, out IntPtr album_name);
44 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_artist")]
45 internal static extern MediaContentError MediaAlbumGetArtist(IntPtr album, out IntPtr artist);
47 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_art")]
48 internal static extern MediaContentError MediaAlbumGetAlbumArt(IntPtr album, out IntPtr album_art);
50 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_from_db")]
51 internal static extern MediaContentError MediaAlbumGetAlbumFromDb(int album_id, out IntPtr album);
53 [DllImport(Libraries.MediaContent, EntryPoint = "media_group_get_group_count_from_db")]
54 internal static extern MediaContentError GetGroupCountFromDb(IntPtr filter, MediaGroupType group, out int group_count);
56 [DllImport(Libraries.MediaContent, EntryPoint = "media_group_get_media_count_from_db")]
57 internal static extern MediaContentError GetMediaCountFromDb(string group_name, MediaGroupType group, IntPtr filter, out int media_count);
60 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
61 internal delegate bool MediaInfoCallback(IntPtr mediaInformation, IntPtr data);
63 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
64 internal delegate bool MediaGroupCallback(string groupName, IntPtr data);
66 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
67 internal delegate bool MediaAlbumCallback(IntPtr albumHandle, IntPtr data);
69 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_foreach_album_from_db")]
70 internal static extern MediaContentError MediaAlbumForeachAlbumFromDb(IntPtr filter, MediaAlbumCallback callback, IntPtr user_data);
72 [DllImport(Libraries.MediaContent, EntryPoint = "media_album_foreach_media_from_db")]
73 internal static extern MediaContentError MediaAlbumForeachMediaFromDb(int albumId, IntPtr filter, MediaInfoCallback callback, IntPtr user_data);
75 [DllImport(Libraries.MediaContent, EntryPoint = "media_group_foreach_group_from_db")]
76 internal static extern MediaContentError ForeachGroupFromDb(IntPtr filter, MediaGroupType group, MediaGroupCallback callback, IntPtr user_data);
78 [DllImport(Libraries.MediaContent, EntryPoint = "media_group_foreach_media_from_db")]
79 internal static extern MediaContentError ForeachMediaFromDb(string groupName, MediaGroupType group, IntPtr filter, MediaInfoCallback callback, IntPtr user_data);