Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Messaging / Interop / Interop.Messages.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 using System;
18 using System.Runtime.InteropServices;
19
20 internal static partial class Interop
21 {
22     internal static partial class Messages
23     {
24         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
25         internal delegate void MessageIncomingCallback(IntPtr messageHandle, IntPtr userData);
26
27         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
28         internal delegate void MessageSentCallback(int result, IntPtr userData);
29
30         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
31         internal delegate bool MessageSearchCallback(IntPtr messageHandle, int index, int resultCount, int totalCount, IntPtr userData);
32
33         [DllImport(Libraries.Messages, EntryPoint = "messages_open_service")]
34         internal static extern int OpenService(out IntPtr serviceHandle);
35
36         [DllImport(Libraries.Messages, EntryPoint = "messages_close_service")]
37         internal static extern int CloseService(IntPtr serviceHandle);
38
39         [DllImport(Libraries.Messages, EntryPoint = "messages_create_message")]
40         internal static extern int CreateMessage(int type, out IntPtr messageHandle);
41
42         [DllImport(Libraries.Messages, EntryPoint = "messages_destroy_message")]
43         internal static extern int DestroyMessage(IntPtr messageHandle);
44
45         [DllImport(Libraries.Messages, EntryPoint = "messages_get_message_id")]
46         internal static extern int GetMessageId(IntPtr messageHandle, out int messageId);
47
48         [DllImport(Libraries.Messages, EntryPoint = "messages_set_sim_id")]
49         internal static extern int SetSimId(IntPtr messageHandle, int simId);
50
51         [DllImport(Libraries.Messages, EntryPoint = "messages_get_sim_id")]
52         internal static extern int GetSimId(IntPtr messageHandle, out int simId);
53
54         [DllImport(Libraries.Messages, EntryPoint = "messages_set_mbox_type")]
55         internal static extern int SetMboxType(IntPtr messageHandle, int mboxType);
56
57         [DllImport(Libraries.Messages, EntryPoint = "messages_get_mbox_type")]
58         internal static extern int GetMboxType(IntPtr messageHandle, out int mboxType);
59
60         [DllImport(Libraries.Messages, EntryPoint = "messages_get_message_port")]
61         internal static extern int GetMessagePort(IntPtr messageHandle, out int messagePort);
62
63         [DllImport(Libraries.Messages, EntryPoint = "messages_get_message_type")]
64         internal static extern int GetMessageType(IntPtr messageHandle, out int messageType);
65
66         [DllImport(Libraries.Messages, EntryPoint = "messages_set_text")]
67         internal static extern int SetText(IntPtr messageHandle, string text);
68
69         [DllImport(Libraries.Messages, EntryPoint = "messages_get_text")]
70         internal static extern int GetText(IntPtr messageHandle, out string text);
71
72         [DllImport(Libraries.Messages, EntryPoint = "messages_set_time")]
73         internal static extern int SetTime(IntPtr messageHandle, int time);
74
75         [DllImport(Libraries.Messages, EntryPoint = "messages_get_time")]
76         internal static extern int GetTime(IntPtr messageHandle, out int time);
77
78         [DllImport(Libraries.Messages, EntryPoint = "messages_mms_set_subject")]
79         internal static extern int SetSubject(IntPtr messageHandle, string subject);
80
81         [DllImport(Libraries.Messages, EntryPoint = "messages_mms_get_subject")]
82         internal static extern int GetSubject(IntPtr messageHandle, out string subject);
83
84         [DllImport(Libraries.Messages, EntryPoint = "messages_add_address")]
85         internal static extern int AddAddress(IntPtr messageHandle, string address, int type);
86
87         [DllImport(Libraries.Messages, EntryPoint = "messages_get_address_count")]
88         internal static extern int GetAddressCount(IntPtr messageHandle, out int count);
89
90         [DllImport(Libraries.Messages, EntryPoint = "messages_get_address")]
91         internal static extern int GetAddress(IntPtr messageHandle, int index, out string address, out int type);
92
93         [DllImport(Libraries.Messages, EntryPoint = "messages_remove_all_addresses")]
94         internal static extern int RemoveAllAddress(IntPtr messageHandle);
95
96         [DllImport(Libraries.Messages, EntryPoint = "messages_mms_add_attachment")]
97         internal static extern int AddAttachment(IntPtr messageHandle, int type, string path);
98
99         [DllImport(Libraries.Messages, EntryPoint = "messages_mms_get_attachment_count")]
100         internal static extern int GetAttachmentCount(IntPtr messageHandle, out int count);
101
102         [DllImport(Libraries.Messages, EntryPoint = "messages_mms_get_attachment")]
103         internal static extern int GetAttachment(IntPtr messageHandle, int index, out int type, out string path);
104
105         [DllImport(Libraries.Messages, EntryPoint = "messages_mms_remove_all_attachments")]
106         internal static extern int RemoveAllAttachment(IntPtr messageHandle);
107
108         [DllImport(Libraries.Messages, EntryPoint = "messages_set_message_incoming_cb")]
109         internal static extern int SetMessageIncomingCb(IntPtr serviceHandle, MessageIncomingCallback cb, IntPtr userData);
110
111         [DllImport(Libraries.Messages, EntryPoint = "messages_unset_message_incoming_cb")]
112         internal static extern int UnsetMessageIncomingCb(IntPtr serviceHandle);
113
114         [DllImport(Libraries.Messages, EntryPoint = "messages_send_message")]
115         internal static extern int SendMessage(IntPtr serviceHandle, IntPtr messageHandle, bool saveToSentbox, MessageSentCallback cb, IntPtr userData);
116
117         [DllImport(Libraries.Messages, EntryPoint = "messages_search_message_by_id")]
118         internal static extern int GetMessageById(IntPtr serviceHandle, int msgId, out IntPtr messageHandle);
119
120         [DllImport(Libraries.Messages, EntryPoint = "messages_foreach_message")]
121         internal static extern int SearchMessage(IntPtr serviceHandle, int mbox, int messageType, string textKeyword, string addressKeyword, int offset, int limit, MessageSearchCallback cb, IntPtr userData);
122
123     }
124 }