Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Content.MediaContent / Interop / Interop.MediaGroup.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  */
16
17
18 using System;
19 using System.Runtime.InteropServices;
20 using Tizen.Content.MediaContent;
21
22 internal static partial class Interop
23 {
24     internal static partial class Group
25     {
26         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_count_from_db")]
27         internal static extern MediaContentError MediaAlbumGetAlbumCountFromDb(IntPtr filter, out int album_count);
28
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);
31
32         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_destroy")]
33         internal static extern MediaContentError MediaAlbumDestroy(IntPtr album);
34
35         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_clone")]
36         internal static extern MediaContentError MediaAlbumClone(out IntPtr dst, IntPtr src);
37
38         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_id")]
39         internal static extern MediaContentError MediaAlbumGetAlbumId(IntPtr album, out int album_id);
40
41         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_name")]
42         internal static extern MediaContentError MediaAlbumGetName(IntPtr album, out IntPtr album_name);
43
44         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_artist")]
45         internal static extern MediaContentError MediaAlbumGetArtist(IntPtr album, out IntPtr artist);
46
47         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_art")]
48         internal static extern MediaContentError MediaAlbumGetAlbumArt(IntPtr album, out IntPtr album_art);
49
50         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_get_album_from_db")]
51         internal static extern MediaContentError MediaAlbumGetAlbumFromDb(int album_id, out IntPtr album);
52
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);
55
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);
58
59         //Callbacks
60         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
61         internal delegate bool MediaInfoCallback(IntPtr mediaInformation, IntPtr data);
62
63         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
64         internal delegate bool MediaGroupCallback(string groupName, IntPtr data);
65
66         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
67         internal delegate bool MediaAlbumCallback(IntPtr albumHandle, IntPtr data);
68
69         [DllImport(Libraries.MediaContent, EntryPoint = "media_album_foreach_album_from_db")]
70         internal static extern MediaContentError MediaAlbumForeachAlbumFromDb(IntPtr filter, MediaAlbumCallback callback, IntPtr user_data);
71
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);
74
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);
77
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);
80     }
81 }