Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Messaging.Push / Tizen.Messaging.Push / PushConnectionStateEventArgs.cs
1  /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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 System;
18
19 namespace Tizen.Messaging.Push
20 {
21     /// <summary>
22     /// An extended EventArgs class, which contains the State Information.
23     /// </summary>
24     /// <since_tizen> 3 </since_tizen>
25     public class PushConnectionStateEventArgs : EventArgs
26     {
27         /// <summary>
28         /// Enumeration for the different states.
29         /// </summary>
30         /// <since_tizen> 3 </since_tizen>
31         public enum PushState
32         {
33             /// <summary>
34             /// Registered with the Server.
35             /// </summary>
36             Registered = 0,
37             /// <summary>
38             /// Unregistered.
39             /// </summary>
40             Unregistered = 1,
41             /// <summary>
42             /// To change the provisioning server IP.
43             /// </summary>
44             ProvisioningIPChanged = 2,
45             /// <summary>
46             /// Ping interval is changing.
47             /// </summary>
48             PingChanged = 3,
49             /// <summary>
50             /// Error Occured in Changing State.
51             /// </summary>
52             StateError = 4
53         }
54
55         /// <summary>
56         /// Gives the current state.
57         /// </summary>
58         /// <since_tizen> 3 </since_tizen>
59         /// <value>
60         /// It is the current state.</value>
61         public PushState State
62         {
63             get;
64             internal set;
65         }
66
67         /// <summary>
68         /// Gives information about the error if set.
69         /// </summary>
70         /// <since_tizen> 3 </since_tizen>
71         /// <value>
72         /// It is the string, which contains the error string if set.</value>
73         public string Error
74         {
75             get;
76             internal set;
77         }
78
79         internal PushConnectionStateEventArgs(PushState state, string error)
80         {
81             State = state;
82             Error = error;
83         }
84     }
85 }