2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 using System.Runtime.InteropServices;
20 internal static partial class Interop
22 internal enum EmailRecipientType
29 internal static partial class Email
31 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
32 internal delegate void EmailSentCallback(IntPtr handle, int result, IntPtr userData);
34 [DllImport(Libraries.Email, EntryPoint = "email_create_message")]
35 internal static extern int CreateEmail(out IntPtr EmailHandle);
37 [DllImport(Libraries.Email, EntryPoint = "email_destroy_message")]
38 internal static extern int DestroyEmail(IntPtr EmailHandle);
40 [DllImport(Libraries.Email, EntryPoint = "email_set_subject")]
41 internal static extern int SetSubject(IntPtr EmailHandle, string text);
43 [DllImport(Libraries.Email, EntryPoint = "email_set_body")]
44 internal static extern int SetBody(IntPtr EmailHandle, string text);
46 [DllImport(Libraries.Email, EntryPoint = "email_add_recipient")]
47 internal static extern int AddRecipient(IntPtr EmailHandle, int type, string text);
49 [DllImport(Libraries.Email, EntryPoint = "email_remove_all_recipients")]
50 internal static extern int RemoveRecipient(IntPtr EmailHandle);
52 [DllImport(Libraries.Email, EntryPoint = "email_add_attach")]
53 internal static extern int AddAttachment(IntPtr EmailHandle, string text);
55 [DllImport(Libraries.Email, EntryPoint = "email_remove_all_attachments")]
56 internal static extern int RemoveAttachments(IntPtr EmailHandle);
58 [DllImport(Libraries.Email, EntryPoint = "email_save_message")]
59 internal static extern int SaveEmail(IntPtr EmailHandle);
61 [DllImport(Libraries.Email, EntryPoint = "email_send_message")]
62 internal static extern int SendEmail(IntPtr EmailHandle, bool SaveToSentBox);
64 [DllImport(Libraries.Email, EntryPoint = "email_set_message_sent_cb")]
65 internal static extern int SetCb(IntPtr EmailHandle, EmailSentCallback Cb, IntPtr UserData);
67 [DllImport(Libraries.Email, EntryPoint = "email_unset_message_sent_cb")]
68 internal static extern int UnsetCb(IntPtr EmailHandle);