d3bde588e592fc6d0e7dd3c6139f9f163025e4c2
[platform/core/csapi/tizenfx.git] / src / Tizen.Applications.AttachPanel / Tizen.Applications / Tizen.Applications.AttachPanel.cs
1 using System;
2
3 namespace Tizen.Applications
4 {
5     public class AttachPanel
6     {
7         IntPtr attachpanel;
8
9         public AttachPanel(IntPtr conformant)
10         {
11             attachpanel = new IntPtr();
12             Interop.AttachPanel.ErrorCode err = Interop.AttachPanel.CreateAttachPanel(conformant, ref attachpanel);
13             checkException(err);
14         }
15
16         public int State
17         {
18             get
19             {
20                 int state;
21                 Interop.AttachPanel.ErrorCode err = Interop.AttachPanel.GetState(attachpanel, out state);
22                 checkException(err);
23                 return state;
24             }
25         }
26         public int Visible
27         {
28             get
29             {
30                 int visible;
31                 Interop.AttachPanel.ErrorCode err = Interop.AttachPanel.GetVisibility(attachpanel, out visible);
32                 checkException(err);
33                 return visible;
34             }
35         }
36         internal static void checkException(Interop.AttachPanel.ErrorCode err)
37         {
38             switch (err)
39             {
40                 case Interop.AttachPanel.ErrorCode.InvalidParameter:
41                     throw new InvalidOperationException("Invalid parameter error at unmanaged code");
42                 case Interop.AttachPanel.ErrorCode.OutOfMemory:
43                     throw new InvalidOperationException("Out of Memory");
44                 case Interop.AttachPanel.ErrorCode.PermissionDenied:
45                     throw new UnauthorizedAccessException();
46             }
47         }
48     }
49 }