Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Messaging / Interop / Interop.Email.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 enum EmailRecipientType
23     {
24         To = 1,
25         Cc = 2,
26         Bcc = 3
27     }
28
29     internal static partial class Email
30     {
31         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
32         internal delegate void EmailSentCallback(IntPtr handle, int result, IntPtr userData);
33
34         [DllImport(Libraries.Email, EntryPoint = "email_create_message")]
35         internal static extern int CreateEmail(out IntPtr EmailHandle);
36
37         [DllImport(Libraries.Email, EntryPoint = "email_destroy_message")]
38         internal static extern int DestroyEmail(IntPtr EmailHandle);
39
40         [DllImport(Libraries.Email, EntryPoint = "email_set_subject")]
41         internal static extern int SetSubject(IntPtr EmailHandle, string text);
42
43         [DllImport(Libraries.Email, EntryPoint = "email_set_body")]
44         internal static extern int SetBody(IntPtr EmailHandle, string text);
45
46         [DllImport(Libraries.Email, EntryPoint = "email_add_recipient")]
47         internal static extern int AddRecipient(IntPtr EmailHandle, int type, string text);
48
49         [DllImport(Libraries.Email, EntryPoint = "email_remove_all_recipients")]
50         internal static extern int RemoveRecipient(IntPtr EmailHandle);
51
52         [DllImport(Libraries.Email, EntryPoint = "email_add_attach")]
53         internal static extern int AddAttachment(IntPtr EmailHandle, string text);
54
55         [DllImport(Libraries.Email, EntryPoint = "email_remove_all_attachments")]
56         internal static extern int RemoveAttachments(IntPtr EmailHandle);
57
58         [DllImport(Libraries.Email, EntryPoint = "email_save_message")]
59         internal static extern int SaveEmail(IntPtr EmailHandle);
60
61         [DllImport(Libraries.Email, EntryPoint = "email_send_message")]
62         internal static extern int SendEmail(IntPtr EmailHandle, bool SaveToSentBox);
63
64         [DllImport(Libraries.Email, EntryPoint = "email_set_message_sent_cb")]
65         internal static extern int SetCb(IntPtr EmailHandle, EmailSentCallback Cb, IntPtr UserData);
66
67         [DllImport(Libraries.Email, EntryPoint = "email_unset_message_sent_cb")]
68         internal static extern int UnsetCb(IntPtr EmailHandle);
69     }
70 }