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 static partial class Calendar
24 internal static partial class Database
26 [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
27 internal delegate void DBChangedCallback(string uri, IntPtr userData);
29 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_insert_record")]
30 internal static extern int Insert(IntPtr recordHandle, out int recordId);
31 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_get_record")]
32 internal static extern int Get(string uri, int recordId, out IntPtr recordHandle);
33 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_update_record")]
34 internal static extern int Update(IntPtr recordHandle);
35 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_delete_record")]
36 internal static extern int Delete(string uri, int recordId);
37 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_get_all_records")]
38 internal static extern int GetAllRecords(string uri, int offset, int limit, out IntPtr recordListHandle);
39 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_get_records_with_query")]
40 internal static extern int GetRecords(IntPtr queryHandle, int offset, int limit, out IntPtr recordListHandle);
41 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_get_count")]
42 internal static extern int GetCount(string uri, out int count);
43 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_get_count_with_query")]
44 internal static extern int GetCountWithQuery(IntPtr queryHandle, out int count);
45 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_insert_records")]
46 internal static extern int InsertRecords(IntPtr recordListHandle, out IntPtr recordIds, out int count);
47 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_update_records")]
48 internal static extern int UpdateRecords(IntPtr recordListHandle);
49 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_delete_records")]
50 internal static extern int DeleteRecords(string uri, int[] ids, int count);
51 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_get_current_version")]
52 internal static extern int GetCurrentVersion(out int version);
53 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_add_changed_cb")]
54 internal static extern int AddChangedCallback(string uri, DBChangedCallback callback, IntPtr userData);
55 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_remove_changed_cb")]
56 internal static extern int RemoveChangedCallback(string uri, DBChangedCallback callback, IntPtr userData);
57 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_get_changes_by_version")]
58 internal static extern int GetChangesByVersion(string uri, int bookId, int dbVersion, out IntPtr recordListHandle, out int currentDBVersion);
59 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_insert_vcalendars")]
60 internal static extern int InsertVcalendars(string stream, out IntPtr recordIds, out int count);
61 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_replace_vcalendars")]
62 internal static extern int ReplaceVcalendars(string stream, int[] ids, int count);
63 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_replace_record")]
64 internal static extern int Replace(IntPtr recordHandle, int recordId);
65 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_replace_records")]
66 internal static extern int ReplaceRecords(IntPtr recordListHandle, int[] ids, int count);
67 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_get_last_change_version")]
68 internal static extern int GetLastChangeVersion(out int lastChangeVersion);
69 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_get_changes_exception_by_version")]
70 internal static extern int GetChangesException(string uri, int eventId, int dbVersion, out IntPtr recordListHandle);
71 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_clean_after_sync")]
72 internal static extern int Clean(int bookId, int dbVersion);
73 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_link_record")]
74 internal static extern int LinkRecord(int baseId, int recordId);
75 [DllImport(Libraries.Calendar, EntryPoint = "calendar_db_unlink_record")]
76 internal static extern int UnlinkRecord(int recordId);