Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Tapi / Tizen.Tapi / SsData.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.Collections.Generic;
18
19 namespace Tizen.Tapi
20 {
21     /// <summary>
22     /// A class which defines values for USSD request type. Applicable to 3GPP(GSM/UMTS/LET) only.
23     /// </summary>
24     public class SsUssdMsgInfo
25     {
26         private SsUssdType _type;
27         private byte _dcs;
28         private int _length;
29         private string _ussdString;
30
31         /// <summary>
32         /// USSD type.
33         /// </summary>
34         /// <value>Type of USSD represented in SsUssdType enum.</value>
35         public SsUssdType Type
36         {
37             get
38             {
39                 return _type;
40             }
41
42             set
43             {
44                 _type = value;
45             }
46         }
47
48         /// <summary>
49         /// DCS.
50         /// </summary>
51         /// <value>Dcs value represented in byte.</value>
52         public byte Dcs
53         {
54             get
55             {
56                 return _dcs;
57             }
58
59             set
60             {
61                 _dcs = value;
62             }
63         }
64
65         /// <summary>
66         /// USSD string length.
67         /// </summary>
68         /// <value>Length of USSD string in integer.</value>
69         public int Length
70         {
71             get
72             {
73                 return _length;
74             }
75
76             set
77             {
78                 _length = value;
79             }
80         }
81
82         /// <summary>
83         /// USSD string.
84         /// </summary>
85         /// <value>Ussd string represented in string.</value>
86         public string UssdString
87         {
88             get
89             {
90                 return _ussdString;
91             }
92
93             set
94             {
95                 _ussdString = value;
96             }
97         }
98     }
99
100     /// <summary>
101     /// A class which defines release complete message notification type.
102     /// </summary>
103     public class SsReleaseCompleteMsgInfo
104     {
105         internal byte Length;
106         internal byte[] Msg;
107
108         internal SsReleaseCompleteMsgInfo()
109         {
110         }
111
112         /// <summary>
113         /// Specifies the Release complete messageg length.
114         /// </summary>
115         /// <value>Length of release complete message in byte.</value>
116         public byte MsgLength
117         {
118             get
119             {
120                 return Length;
121             }
122         }
123
124         /// <summary>
125         /// Specifies the release complete message.
126         /// </summary>
127         /// <value>Release complete message represented in byte array.</value>
128         public byte[] Message
129         {
130             get
131             {
132                 return Msg;
133             }
134         }
135     }
136
137     /// <summary>
138     /// A class which defines SS forward record information.
139     /// </summary>
140     public class SsForwardRecord
141     {
142         internal SsClass SsClass;
143         internal SsStatus SsStatus;
144         internal SsForwardCondition Condition;
145         internal bool IsNumPresent;
146         internal SsNoReplyTime NoReply;
147         internal SsForwardTypeOfNumber Type;
148         internal SsForwardNumberingPlanIdentity NumIdPlan;
149         internal string ForwardNum;
150
151         internal SsForwardRecord()
152         {
153         }
154
155         /// <summary>
156         /// SS class
157         /// </summary>
158         /// <value>SS class type.</value>
159         public SsClass Class
160         {
161             get
162             {
163                 return SsClass;
164             }
165         }
166
167         /// <summary>
168         /// Call forwarding SS status.
169         /// </summary>
170         /// <value>Status of SS call forwarding.</value>
171         public SsStatus Status
172         {
173             get
174             {
175                 return SsStatus;
176             }
177         }
178
179         /// <summary>
180         /// Call forward types providing various conditions when a call can be forwarded.
181         /// </summary>
182         /// <value>Forwarding condition of SS call forward.</value>
183         public SsForwardCondition ForwardCondition
184         {
185             get
186             {
187                 return Condition;
188             }
189         }
190
191         /// <summary>
192         /// Flag that indicates whether call forwarding number is present.
193         /// </summary>
194         /// <value>Boolean value to check the presence of call forwarding number.</value>
195         public bool IsForwardingNumberPresent
196         {
197             get
198             {
199                 return IsNumPresent;
200             }
201         }
202
203         /// <summary>
204         /// No reply time.
205         /// </summary>
206         /// <value>Waiting time when there is no reply.</value>
207         public SsNoReplyTime NoReplyTime
208         {
209             get
210             {
211                 return NoReply;
212             }
213         }
214
215         /// <summary>
216         /// Type of number.
217         /// </summary>
218         /// <value>SS call forward type of number.</value>
219         public SsForwardTypeOfNumber Ton
220         {
221             get
222             {
223                 return Type;
224             }
225         }
226
227         /// <summary>
228         /// Numbering Plan Identity.
229         /// </summary>
230         /// <value>SS call forward numbering plan identity.</value>
231         public SsForwardNumberingPlanIdentity Npi
232         {
233             get
234             {
235                 return NumIdPlan;
236             }
237         }
238
239         /// <summary>
240         /// Forwarded number.
241         /// </summary>
242         /// <value>Call forwarding number.</value>
243         public string ForwardingNumber
244         {
245             get
246             {
247                 return ForwardNum;
248             }
249         }
250     }
251
252     /// <summary>
253     /// A class which defines values for SS call forwarding record. Applicable to 3GPP(GSM/UMTS/LTE) only.
254     /// </summary>
255     public class SsForwardResponse
256     {
257         internal int RecordNum;
258         internal IEnumerable<SsForwardRecord> RecordList;
259
260         internal SsForwardResponse()
261         {
262         }
263
264         /// <summary>
265         /// Record number.
266         /// </summary>
267         /// <value>Record value represented in integer.</value>
268         public int RecordNumber
269         {
270             get
271             {
272                 return RecordNum;
273             }
274         }
275
276         /// <summary>
277         /// Specifies the maximum of SS forward records.
278         /// </summary>
279         /// <value>A list of instances of SsForwardRecord.</value>
280         public IEnumerable<SsForwardRecord> Record
281         {
282             get
283             {
284                 return RecordList;
285             }
286         }
287     }
288
289     /// <summary>
290     /// A class which defines SS call barring record information.
291     /// </summary>
292     public class SsBarringRecord
293     {
294         internal SsClass SsClass;
295         internal SsStatus SsStatus;
296         internal SsBarringType SsType;
297
298         internal SsBarringRecord()
299         {
300         }
301
302         /// <summary>
303         /// SS class
304         /// </summary>
305         /// <value>SS class type.</value>
306         public SsClass Class
307         {
308             get
309             {
310                 return SsClass;
311             }
312         }
313
314         /// <summary>
315         /// SS status.
316         /// </summary>
317         /// <value>Status of SS call barring.</value>
318         public SsStatus Status
319         {
320             get
321             {
322                 return SsStatus;
323             }
324         }
325
326         /// <summary>
327         /// Call barring types providing various barring conditions on which calls are barred.
328         /// </summary>
329         /// <value>Type of SS call barring.</value>
330         public SsBarringType BarringType
331         {
332             get
333             {
334                 return SsType;
335             }
336         }
337     }
338
339     /// <summary>
340     /// A class which defines values for SS call barring record. Applicable to 3GPP(GSM/UMTS/LTE) only.
341     /// </summary>
342     public class SsBarringResponse
343     {
344         internal int RecordNum;
345         internal IEnumerable<SsBarringRecord> RecordList;
346
347         internal SsBarringResponse()
348         {
349         }
350
351         /// <summary>
352         /// Record number.
353         /// </summary>
354         /// <value>Record value represented in integer.</value>
355         public int RecordNumber
356         {
357             get
358             {
359                 return RecordNum;
360             }
361         }
362
363         /// <summary>
364         /// Specifies the maximum of SS barring records.
365         /// </summary>
366         /// <value>A list of instances of SsBarringRecord.</value>
367         public IEnumerable<SsBarringRecord> Record
368         {
369             get
370             {
371                 return RecordList;
372             }
373         }
374     }
375
376     /// <summary>
377     /// A class which defines SS waiting record information.
378     /// </summary>
379     public class SsWaitingRecord
380     {
381         internal SsClass SsClass;
382         internal SsStatus SsStatus;
383
384         internal SsWaitingRecord()
385         {
386         }
387
388         /// <summary>
389         /// SS class
390         /// </summary>
391         /// <value>SS class type.</value>
392         public SsClass Class
393         {
394             get
395             {
396                 return SsClass;
397             }
398         }
399
400         /// <summary>
401         /// SS status.
402         /// </summary>
403         /// <value>Status of SS call waiting.</value>
404         public SsStatus Status
405         {
406             get
407             {
408                 return SsStatus;
409             }
410         }
411     }
412
413     /// <summary>
414     /// A class which defines values for SS call waiting record. Applicable to 3GPP(GSM/UMTS/LTE) only.
415     /// </summary>
416     public class SsWaitingResponse
417     {
418         internal int RecordNum;
419         internal IEnumerable<SsWaitingRecord> RecordList;
420
421         internal SsWaitingResponse()
422         {
423         }
424
425         /// <summary>
426         /// Record number.
427         /// </summary>
428         /// <value>Record value represented in integer.</value>
429         public int RecordNumber
430         {
431             get
432             {
433                 return RecordNum;
434             }
435         }
436
437         /// <summary>
438         /// Specifies the maximum of SS waiting records.
439         /// </summary>
440         /// <value>A list of instances of SsWaitingRecord.</value>
441         public IEnumerable<SsWaitingRecord> Record
442         {
443             get
444             {
445                 return RecordList;
446             }
447         }
448     }
449
450     /// <summary>
451     /// A class which defines SUPS information message notification type.
452     /// </summary>
453     public class SsInfo
454     {
455         internal SsCause Cse;
456         internal SsInfoType Type;
457
458         internal SsInfo()
459         {
460         }
461
462         /// <summary>
463         /// SS error cause.
464         /// </summary>
465         /// <value>Ss request result.</value>
466         public SsCause Cause
467         {
468             get
469             {
470                 return Cse;
471             }
472         }
473
474         /// <summary>
475         /// SUPS information.
476         /// </summary>
477         /// <value>Ss information type.</value>
478         public SsInfoType SsType
479         {
480             get
481             {
482                 return Type;
483             }
484         }
485     }
486
487     /// <summary>
488     /// A class which defines parameters related to call barring.
489     /// </summary>
490     public class SsBarringInfo
491     {
492         private SsClass _class;
493         private SsBarringMode _mode;
494         private SsBarringType _type;
495         private string _password;
496         private SsBarringInfo()
497         {
498         }
499
500         /// <summary>
501         /// A constructor for instantiating SsBarringInfo class with the necessary parameters.
502         /// </summary>
503         /// <param name="classType">Call type.</param>
504         /// <param name="mode">Barring mode.</param>
505         /// <param name="type">Barring type.</param>
506         /// <param name="password">Password (3GPP(GSM/UMTS/LTE) Specific).</param>
507         public SsBarringInfo(SsClass classType, SsBarringMode mode, SsBarringType type, string password)
508         {
509             _class = classType;
510             _mode = mode;
511             _type = type;
512             _password = password;
513         }
514
515         internal SsClass Class
516         {
517             get
518             {
519                 return _class;
520             }
521         }
522
523         internal SsBarringMode Mode
524         {
525             get
526             {
527                 return _mode;
528             }
529         }
530
531         internal SsBarringType Type
532         {
533             get
534             {
535                 return _type;
536             }
537         }
538
539         internal string Password
540         {
541             get
542             {
543                 return _password;
544             }
545         }
546     }
547
548     /// <summary>
549     /// A class which defines the parameters related to forward info.
550     /// </summary>
551     public class SsForwardInfo
552     {
553         private SsClass _class;
554         private SsForwardMode _mode;
555         private SsForwardCondition _condition;
556         private SsNoReplyTime _noReplyTimer;
557         private SsForwardTypeOfNumber _ton;
558         private SsForwardNumberingPlanIdentity _npi;
559         private string _phoneNumber;
560         private SsForwardInfo()
561         {
562         }
563
564         /// <summary>
565         /// A constructor for instantiating SsForwardInfo class with the necessary parameters.
566         /// </summary>
567         /// <param name="classType">SS Class.</param>
568         /// <param name="mode">Forward Mode.</param>
569         /// <param name="condition">Forward Condition.</param>
570         /// <param name="time">No reply wait time 5-30 secs in intervals of 5(3GPP(GSM/UMTS/LTE) Specific).</param>
571         /// <param name="ton">Type of number.</param>
572         /// <param name="npi">Numbering plan identity.</param>
573         /// <param name="number">Phone number.</param>
574         public SsForwardInfo(SsClass classType, SsForwardMode mode, SsForwardCondition condition, SsNoReplyTime time, SsForwardTypeOfNumber ton, SsForwardNumberingPlanIdentity npi, string number)
575         {
576             _class = classType;
577             _mode = mode;
578             _condition = condition;
579             _noReplyTimer = time;
580             _ton = ton;
581             _npi = npi;
582             _phoneNumber = number;
583         }
584
585         internal SsClass Class
586         {
587             get
588             {
589                 return _class;
590             }
591         }
592
593         internal SsForwardMode Mode
594         {
595             get
596             {
597                 return _mode;
598             }
599         }
600
601         internal SsForwardCondition Condition
602         {
603             get
604             {
605                 return _condition;
606             }
607         }
608
609         internal SsNoReplyTime NoReplyTimer
610         {
611             get
612             {
613                 return _noReplyTimer;
614             }
615         }
616
617         internal SsForwardTypeOfNumber Ton
618         {
619             get
620             {
621                 return _ton;
622             }
623         }
624
625         internal SsForwardNumberingPlanIdentity Npi
626         {
627             get
628             {
629                 return _npi;
630             }
631         }
632
633         internal string PhoneNumber
634         {
635             get
636             {
637                 return _phoneNumber;
638             }
639         }
640     }
641
642     /// <summary>
643     /// A class which defines parameters related to call waiting.
644     /// </summary>
645     public class SsWaitingInfo
646     {
647         private SsClass _class;
648         private SsCallWaitingMode _mode;
649         private SsWaitingInfo()
650         {
651         }
652
653         /// <summary>
654         /// A constructor for instantiating SsWaitingInfo class with necessary parameters.
655         /// </summary>
656         /// <param name="ssClass">Call type.</param>
657         /// <param name="mode">Call waiting mode.</param>
658         public SsWaitingInfo(SsClass ssClass, SsCallWaitingMode mode)
659         {
660             _class = ssClass;
661             _mode = mode;
662         }
663
664         internal SsClass Class
665         {
666             get
667             {
668                 return _class;
669             }
670         }
671
672         internal SsCallWaitingMode Mode
673         {
674             get
675             {
676                 return _mode;
677             }
678         }
679     }
680
681     /// <summary>
682     /// A class which defines values for calling line identity service. Applicable to 3GPP(GSM/UMTS/LTE) only.
683     /// </summary>
684     public class SsCliResponse
685     {
686         internal SsLineIdentificationType LineType;
687         internal SsCliStatus CliStatus;
688         internal SsCliResponse()
689         {
690         }
691
692         /// <summary>
693         /// Various line identification types.
694         /// </summary>
695         public SsLineIdentificationType Type
696         {
697             get
698             {
699                 return LineType;
700             }
701         }
702
703         /// <summary>
704         /// Line identification status from the network.
705         /// </summary>
706         public SsCliStatus Status
707         {
708             get
709             {
710                 return CliStatus;
711             }
712         }
713     }
714
715     /// <summary>
716     /// A class which defines USSD response data. Applicable to 3GPP(GSM/UMTS/LTE) only.
717     /// </summary>
718     public class SsUssdResponse
719     {
720         internal SsUssdType UssdType;
721         internal SsUssdStatus UssdStatus;
722         internal byte DcsInfo;
723         internal int UssdLength;
724         internal string UssdInfo;
725         internal SsUssdResponse()
726         {
727         }
728
729         /// <summary>
730         /// USSD Type.
731         /// </summary>
732         public SsUssdType Type
733         {
734             get
735             {
736                 return UssdType;
737             }
738         }
739
740         /// <summary>
741         /// USSD Status.
742         /// </summary>
743         public SsUssdStatus Status
744         {
745             get
746             {
747                 return UssdStatus;
748             }
749         }
750
751         /// <summary>
752         /// DCS.
753         /// </summary>
754         public byte Dcs
755         {
756             get
757             {
758                 return DcsInfo;
759             }
760         }
761
762         /// <summary>
763         /// USSD string length.
764         /// </summary>
765         public int Length
766         {
767             get
768             {
769                 return UssdLength;
770             }
771         }
772
773         /// <summary>
774         /// USSD String.
775         /// </summary>
776         public string UssdString
777         {
778             get
779             {
780                 return UssdInfo;
781             }
782         }
783     }
784 }