[Bluetooth][Non-ACR] Fix no data exception issue (#787)
[platform/core/csapi/tizenfx.git] / internals / src / EflSharp / EflSharp / Circle / CircleUIManager.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.Runtime.InteropServices;
5
6 namespace Efl
7 {
8     namespace Ui
9     {
10         namespace Wearable
11         {
12             /// <summary>
13             /// The CircleUIManager manages the circle widget to be drawn on the other widgets.
14             /// </summary>
15             /// <since_tizen> 6 </since_tizen>
16             public class CircleUIManager
17             {
18                 IntPtr _handle;
19                 public IntPtr NativeHandle => _handle;
20
21                 public CircleUIManager(Efl.Ui.Win conformant)
22                 {
23                     _handle = Interop.Eext.eext_circle_surface_conformant_add(conformant.NativeHandle);
24                 }
25
26                 public CircleUIManager(Efl.Object layout)
27                 {
28                     _handle = Interop.Eext.eext_circle_surface_layout_add(layout.NativeHandle);
29                 }
30
31                 public CircleUIManager(Efl.Ui.Stack naviframe)
32                 {
33                     _handle = Interop.Eext.eext_circle_surface_naviframe_add(naviframe.NativeHandle);
34                 }
35
36                 public CircleUIManager()
37                 {
38                     _handle = IntPtr.Zero;
39                 }
40
41                 /// <summary>
42                 /// Registers the circle object to the circle ui manager.
43                 /// </summary>
44                 /// <since_tizen> 6 </since_tizen>
45                 public void RegisterCircleObject(ICircleWidget circleObject)
46                 {
47                     if (NativeHandle != IntPtr.Zero)
48                         Interop.Eext.eext_circle_object_connect(NativeHandle, circleObject.CircleHandle);
49                 }
50
51                 /// <summary>
52                 /// Unregisters the circle object from the circle ui manager.
53                 /// </summary>
54                 /// <since_tizen> 6 </since_tizen>
55                 public void UnRegisterCircleObject(ICircleWidget circleObject)
56                 {
57                     if (NativeHandle != IntPtr.Zero)
58                         Interop.Eext.eext_circle_object_disconnect(NativeHandle, circleObject.CircleHandle);
59                 }
60
61                 /// <summary>
62                 /// Deletes the circle ui manager.
63                 /// </summary>
64                 /// <since_tizen> 6 </since_tizen>
65                 public void Delete()
66                 {
67                     if (NativeHandle != IntPtr.Zero)
68                     {
69                         Interop.Eext.eext_circle_surface_del(NativeHandle);
70                         _handle = IntPtr.Zero;
71                     }
72                 }
73             }
74         }
75     }
76 }