Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Content.MediaContent / Interop / Interop.MediaTag.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 Tag
25     {
26         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_insert_to_db")]
27         internal static extern MediaContentError InsertToDb(string tag_name, out IntPtr tag);
28
29         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_delete_from_db")]
30         internal static extern MediaContentError DeleteFromDb(int tag_id);
31
32         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_get_tag_count_from_db")]
33         internal static extern MediaContentError GetTagCountFromDb(IntPtr filter, out int tag_count);
34
35         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_get_media_count_from_db")]
36         internal static extern MediaContentError GetMediaCountFromDb(int tag_id, IntPtr filter, out int media_count);
37
38         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_clone")]
39         internal static extern MediaContentError Clone(out IntPtr dst, IntPtr src);
40
41         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_destroy")]
42         internal static extern MediaContentError Destroy(IntPtr tag);
43
44         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_get_tag_id")]
45         internal static extern MediaContentError GetTagId(IntPtr tag, out int tag_id);
46
47         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_get_name")]
48         internal static extern MediaContentError GetName(IntPtr tag, out IntPtr tag_name);
49
50         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_get_tag_from_db")]
51         internal static extern MediaContentError GetTagFromDb(int tag_id, out IntPtr tag);
52
53         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_add_media")]
54         internal static extern MediaContentError AddMedia(IntPtr tag, string media_id);
55
56         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_remove_media")]
57         internal static extern MediaContentError RemoveMedia(IntPtr tag, string media_id);
58
59         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_set_name")]
60         internal static extern MediaContentError SetName(IntPtr tag, string tag_name);
61
62         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_update_to_db")]
63         internal static extern MediaContentError UpdateToDb(IntPtr tag);
64
65         //Callbacks
66         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
67         internal delegate bool MediaInfoCallback(IntPtr mediaInformation, IntPtr data);
68
69         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
70         internal delegate bool MediaTagCallback(IntPtr tag, IntPtr data);
71
72         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_foreach_tag_from_db")]
73         internal static extern MediaContentError ForeachTagFromDb(IntPtr filter, MediaTagCallback callback, IntPtr user_data);
74
75         [DllImport(Libraries.MediaContent, EntryPoint = "media_tag_foreach_media_from_db")]
76         internal static extern MediaContentError ForeachMediaFromDb(int tag_id, IntPtr filter, MediaInfoCallback callback, IntPtr user_data);
77     }
78 }