c1de491b5e8c22b645e7187831adda3d4cecb7f9
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / internal / ViewSignal.cs
1 /*
2  * Copyright(c) 2019 Samsung Electronics Co., Ltd.
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 Tizen.NUI.BaseComponents;
18
19 namespace Tizen.NUI
20 {
21     internal class ViewSignal : Disposable
22     {
23
24         internal ViewSignal(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
25         {
26         }
27
28
29         protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
30         {
31             Interop.ActorSignal.delete_ActorSignal(swigCPtr);
32         }
33
34         public bool Empty()
35         {
36             bool ret = Interop.ActorSignal.ActorSignal_Empty(swigCPtr);
37             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
38             return ret;
39         }
40
41         public uint GetConnectionCount()
42         {
43             uint ret = Interop.ActorSignal.ActorSignal_GetConnectionCount(swigCPtr);
44             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
45             return ret;
46         }
47
48         public void Connect(System.Delegate func)
49         {
50             System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(func);
51             {
52                 Interop.ActorSignal.ActorSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
53                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
54             }
55         }
56
57         public void Disconnect(System.Delegate func)
58         {
59             System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(func);
60             {
61                 Interop.ActorSignal.ActorSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
62                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
63             }
64         }
65
66         public void Emit(View arg)
67         {
68             Interop.ActorSignal.ActorSignal_Emit(swigCPtr, View.getCPtr(arg));
69             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
70         }
71
72         public ViewSignal() : this(Interop.ActorSignal.new_ActorSignal(), true)
73         {
74             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
75         }
76     }
77 }