summaryrefslogtreecommitdiff
path: root/Tizen.Content.MediaContent/Interop/Interop.MediaPlaylist.cs
blob: 58b702480323be490d53cb5977292b03b109fbd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
using System;
using System.Runtime.InteropServices;
using Tizen.Content.MediaContent;

internal static partial class Interop
{
    internal static partial class Playlist
    {
        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_get_playlist_count_from_db")]
        internal static extern int GetPlaylistCountFromDb(IntPtr filter, out int playlist_count);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_get_media_count_from_db")]
        internal static extern int GetMediaCountFromDb(int playlist_id, IntPtr filter, out int media_count);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_insert_to_db")]
        internal static extern int InsertToDb(string name, out IntPtr playlist);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_delete_from_db")]
        internal static extern int DeleteFromDb(int playlist_id);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_get_playlist_from_db")]
        internal static extern int GetPlaylistFromDb(int playlist_id, out IntPtr playlist);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_destroy")]
        internal static extern int Destroy(IntPtr playlist);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_clone")]
        internal static extern int Clone(out IntPtr dst, IntPtr src);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_get_playlist_id")]
        internal static extern int GetPlaylistId(IntPtr playlist, out int playlist_id);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_get_name")]
        internal static extern int GetName(IntPtr playlist, out string playlist_name);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_set_name")]
        internal static extern int SetName(IntPtr playlist, string playlist_name);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_get_thumbnail_path")]
        internal static extern int GetThumbnailPath(IntPtr playlist, out string filePath);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_set_thumbnail_path")]
        internal static extern int SetThumbnailPath(IntPtr playlist, string filePath);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_set_play_order")]
        internal static extern int SetPlayOrder(IntPtr playlist, int playlist_member_id, int play_order);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_add_media")]
        internal static extern int AddMedia(IntPtr playlist, string media_id);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_remove_media")]
        internal static extern int RemoveMedia(IntPtr playlist, int playlist_member_id);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_get_play_order")]
        internal static extern int GetPlayOrder(IntPtr playlist, int playlist_member_id, out int play_order);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_update_to_db")]
        internal static extern int UpdateToDb(IntPtr playlist);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_import_from_file")]
        internal static extern int ImportFromFile(string playlist_name, string filePath, out IntPtr playlist);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_export_to_file")]
        internal static extern int ExportToFile(IntPtr playlist, string filePath);

        //Callbacks
        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
        internal delegate bool MediaPlaylistCallback(IntPtr playListHandle, IntPtr data);

        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
        internal delegate bool PlaylistMemberCallback(int playListMemberId, IntPtr mediaInformation, IntPtr data);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_foreach_playlist_from_db")]
        internal static extern int ForeachPlaylistFromDb(IntPtr filter, MediaPlaylistCallback callback, IntPtr user_data);

        [DllImport(Libraries.MediaContent, EntryPoint = "media_playlist_foreach_media_from_db")]
        internal static extern int ForeachMediaFromDb(int playlist_id, IntPtr filter, PlaylistMemberCallback callback, IntPtr user_data);
    }
}