-
Notifications
You must be signed in to change notification settings - Fork 241
/
Interop.CionGroup.cs
69 lines (53 loc) · 3.35 KB
/
Interop.CionGroup.cs
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
/*
* Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
*
* Licensed under the Apache License, Version 2.0 (the License);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
using System;
using System.Runtime.InteropServices;
using Tizen.Applications.Cion;
using ErrorCode = Interop.Cion.ErrorCode;
internal static partial class Interop
{
internal static partial class CionGroup
{
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void CionGroupPayloadReceivedCb(IntPtr group, IntPtr peerInfo, IntPtr payload, IntPtr userData);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void CionGroupJoinedCb(string topicName, IntPtr peerInfo, IntPtr userData);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
internal delegate void CionGroupLeftCb(string topicName, IntPtr peerInfo, IntPtr userData);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_create")]
internal static extern ErrorCode CionGroupCreate(out GroupSafeHandle group, string topicName, IntPtr security);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_destroy")]
internal static extern ErrorCode CionGroupDestroy(IntPtr group);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_subscribe")]
internal static extern ErrorCode CionGroupSubscribe(GroupSafeHandle group);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_unsubscribe")]
internal static extern ErrorCode CionGroupUnsubscribe(GroupSafeHandle group);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_publish")]
internal static extern ErrorCode CionGroupPublish(GroupSafeHandle group, PayloadSafeHandle data);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_add_payload_received_cb")]
internal static extern ErrorCode CionGroupAddPayloadReceivedCb(GroupSafeHandle group, CionGroupPayloadReceivedCb cb, IntPtr userData);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_remove_payload_received_cb")]
internal static extern ErrorCode CionGroupRemovePayloadReceivedCb(GroupSafeHandle group, CionGroupPayloadReceivedCb cb);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_add_joined_cb")]
internal static extern ErrorCode CionGroupAddJoinedCb(GroupSafeHandle group, CionGroupJoinedCb cb, IntPtr userData);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_remove_joined_cb")]
internal static extern ErrorCode CionGroupRemoveJoinedCb(GroupSafeHandle group, CionGroupJoinedCb cb);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_add_left_cb")]
internal static extern ErrorCode CionGroupAddLeftCb(GroupSafeHandle group, CionGroupLeftCb cb, IntPtr userData);
[DllImport(Libraries.Cion, EntryPoint = "cion_group_remove_left_cb")]
internal static extern ErrorCode CionGroupRemoveLeftCb(GroupSafeHandle group, CionGroupLeftCb cb);
}
}