Merge "[Multimedia] Fixed bugs."
[platform/core/csapi/tizenfx.git] / internal / src / Tizen.Tapi / Tizen.Tapi / SimData.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 SIM card initialization information.
23     /// </summary>
24     /// <since_tizen> 4 </since_tizen>
25     public class SimInitInfo
26     {
27         internal SimCardStatus SimStatus;
28         internal bool IsChanged;
29         internal SimInitInfo()
30         {
31         }
32
33         /// <summary>
34         /// The SIM initialization status from the Telephony server boot up time.
35         /// </summary>
36         /// <since_tizen> 4 </since_tizen>
37         public SimCardStatus Status
38         {
39             get
40             {
41                 return SimStatus;
42             }
43         }
44
45         /// <summary>
46         /// The SIM card identification value. It will be true when the current inserted SIM card differs from the previous SIM. False otherwise.
47         /// </summary>
48         /// <since_tizen> 4 </since_tizen>
49         public bool IsCardChanged
50         {
51             get
52             {
53                 return IsChanged;
54             }
55         }
56     }
57
58     /// <summary>
59     /// A class which defines data for IMSI information.
60     /// </summary>
61     /// <since_tizen> 4 </since_tizen>
62     public class SimImsiInfo
63     {
64         internal string CountryCode;
65         internal string NetworkCode;
66         internal string StationId;
67         internal SimImsiInfo()
68         {
69         }
70
71         /// <summary>
72         /// Mobile Country Code.
73         /// </summary>
74         /// <since_tizen> 4 </since_tizen>
75         public string Mcc
76         {
77             get
78             {
79                 return CountryCode;
80             }
81         }
82
83         /// <summary>
84         /// Mobile Network Code.
85         /// </summary>
86         /// <since_tizen> 4 </since_tizen>
87         public string Mnc
88         {
89             get
90             {
91                 return NetworkCode;
92             }
93         }
94
95         /// <summary>
96         /// Mobile Station Identification Number.
97         /// </summary>
98         /// <since_tizen> 4 </since_tizen>
99         public string Msin
100         {
101             get
102             {
103                 return StationId;
104             }
105         }
106     }
107
108     /// <summary>
109     /// A class which defines data for ECC information of GSM/USIM/CDMA SIM.
110     /// </summary>
111     /// <since_tizen> 4 </since_tizen>
112     public class SimEccInfo
113     {
114         internal string NameInfo;
115         internal string NumberInfo;
116         internal SimEccEmergencyServiceType TypeInfo;
117         internal SimEccInfo()
118         {
119         }
120
121         /// <summary>
122         /// Name. Applicable only for USIM(3G) SIM.
123         /// </summary>
124         /// <since_tizen> 4 </since_tizen>
125         public string Name
126         {
127             get
128             {
129                 return NameInfo;
130             }
131         }
132
133         /// <summary>
134         /// Number.
135         /// </summary>
136         /// <since_tizen> 4 </since_tizen>
137         public string Number
138         {
139             get
140             {
141                 return NumberInfo;
142             }
143         }
144
145         /// <summary>
146         /// Emergency service type. Applicable only for USIM(3G) SIM.
147         /// </summary>
148         /// <since_tizen> 4 </since_tizen>
149         public SimEccEmergencyServiceType Category
150         {
151             get
152             {
153                 return TypeInfo;
154             }
155         }
156     }
157
158     /// <summary>
159     /// A class which defines ECC information list.
160     /// </summary>
161     /// <since_tizen> 4 </since_tizen>
162     public class SimEccInfoList
163     {
164         internal int EccCount;
165         internal IEnumerable<SimEccInfo> List;
166         internal SimEccInfoList()
167         {
168         }
169
170         /// <summary>
171         /// ECC count.
172         /// </summary>
173         /// <since_tizen> 4 </since_tizen>
174         public int Count
175         {
176             get
177             {
178                 return EccCount;
179             }
180         }
181
182         /// <summary>
183         /// List of ECC.
184         /// </summary>
185         /// <since_tizen> 4 </since_tizen>
186         public IEnumerable<SimEccInfo> EccList
187         {
188             get
189             {
190                 return List;
191             }
192         }
193     }
194
195     /// <summary>
196     /// A class which defines ICCID(Integrated Circuit Card Identifier).
197     /// </summary>
198     /// <since_tizen> 4 </since_tizen>
199     public class SimIccIdInfo
200     {
201         internal int Length;
202         internal string Number;
203         internal SimIccIdInfo()
204         {
205         }
206
207         /// <summary>
208         /// Integrated Circuit Card number length.
209         /// </summary>
210         /// <since_tizen> 4 </since_tizen>
211         public int IccLength
212         {
213             get
214             {
215                 return Length;
216             }
217         }
218
219         /// <summary>
220         /// Integrated Circuit Card number.
221         /// </summary>
222         /// <since_tizen> 4 </since_tizen>
223         public string IccNumber
224         {
225             get
226             {
227                 return Number;
228             }
229         }
230     }
231
232     /// <summary>
233     /// A class which defines call forwarding indication status data.
234     /// </summary>
235     /// <since_tizen> 4 </since_tizen>
236     public class SimCfis
237     {
238         private int _recIndex;
239         private byte _mspNum;
240         private byte _cfuStatus;
241         private SimTypeOfNumber _ton;
242         private SimNumberPlanIdentity _npi;
243         private string _cfuNum;
244         private byte _cc2Id;
245         private byte _ext7Id;
246
247         /// <summary>
248         /// Record index.
249         /// </summary>
250         /// <since_tizen> 4 </since_tizen>
251         public int RecIndex
252         {
253             get
254             {
255                 return _recIndex;
256             }
257
258             set
259             {
260                 _recIndex = value;
261             }
262         }
263
264         /// <summary>
265         /// MSP number.
266         /// </summary>
267         /// <since_tizen> 4 </since_tizen>
268         public byte MspNum
269         {
270             get
271             {
272                 return _mspNum;
273             }
274
275             set
276             {
277                 _mspNum = value;
278             }
279         }
280
281         /// <summary>
282         /// Call forwarding unconditional indication status.
283         /// </summary>
284         /// <since_tizen> 4 </since_tizen>
285         public byte CfuStatus
286         {
287             get
288             {
289                 return _cfuStatus;
290             }
291
292             set
293             {
294                 _cfuStatus = value;
295             }
296         }
297
298         /// <summary>
299         /// SIM Type of number.
300         /// </summary>
301         /// <since_tizen> 4 </since_tizen>
302         public SimTypeOfNumber Ton
303         {
304             get
305             {
306                 return _ton;
307             }
308
309             set
310             {
311                 _ton = value;
312             }
313         }
314
315         /// <summary>
316         /// SIM numbering plan identity.
317         /// </summary>
318         /// <since_tizen> 4 </since_tizen>
319         public SimNumberPlanIdentity Npi
320         {
321             get
322             {
323                 return _npi;
324             }
325
326             set
327             {
328                 _npi = value;
329             }
330         }
331
332         /// <summary>
333         /// Dialing Number/SSC String.
334         /// </summary>
335         /// <since_tizen> 4 </since_tizen>
336         public string CfuNum
337         {
338             get
339             {
340                 return _cfuNum;
341             }
342
343             set
344             {
345                 _cfuNum = value;
346             }
347         }
348
349         /// <summary>
350         /// Capability/Configuration 2 Record Identifier.
351         /// </summary>
352         /// <since_tizen> 4 </since_tizen>
353         public byte Cc2Id
354         {
355             get
356             {
357                 return _cc2Id;
358             }
359
360             set
361             {
362                 _cc2Id = value;
363             }
364         }
365
366         /// <summary>
367         /// Extension 7 Record Identifier.
368         /// </summary>
369         /// <since_tizen> 4 </since_tizen>
370         public byte Ext7Id
371         {
372             get
373             {
374                 return _ext7Id;
375             }
376
377             set
378             {
379                 _ext7Id = value;
380             }
381         }
382     }
383
384     /// <summary>
385     /// A class which defines call forwarding indication status list.
386     /// </summary>
387     /// <since_tizen> 4 </since_tizen>
388     public class SimCfisList
389     {
390         internal int Count;
391         internal IEnumerable<SimCfis> List;
392         internal SimCfisList()
393         {
394         }
395
396         /// <summary>
397         /// Profile count.
398         /// </summary>
399         /// <since_tizen> 4 </since_tizen>
400         public int ProfileCount
401         {
402             get
403             {
404                 return Count;
405             }
406         }
407
408         /// <summary>
409         /// List of CFIS.
410         /// </summary>
411         /// <since_tizen> 4 </since_tizen>
412         public IEnumerable<SimCfis> CfisList
413         {
414             get
415             {
416                 return List;
417             }
418         }
419     }
420
421     /// <summary>
422     /// A class which defines CPHS call forwarding status data.
423     /// </summary>
424     /// <since_tizen> 4 </since_tizen>
425     public class SimCphsCf
426     {
427         private int _line1;
428         private int _line2;
429         private int _fax;
430         private int _data;
431
432         /// <summary>
433         /// CallForwardUnconditionalLine 1.
434         /// </summary>
435         /// <since_tizen> 4 </since_tizen>
436         public int Line1
437         {
438             get
439             {
440                 return _line1;
441             }
442
443             set
444             {
445                 _line1 = value;
446             }
447         }
448
449         /// <summary>
450         /// CallForwardUnconditionalLine 2.
451         /// </summary>
452         /// <since_tizen> 4 </since_tizen>
453         public int Line2
454         {
455             get
456             {
457                 return _line2;
458             }
459
460             set
461             {
462                 _line2 = value;
463             }
464         }
465
466         /// <summary>
467         /// CallForwardUnconditional Fax.
468         /// </summary>
469         /// <since_tizen> 4 </since_tizen>
470         public int Fax
471         {
472             get
473             {
474                 return _fax;
475             }
476
477             set
478             {
479                 _fax = value;
480             }
481         }
482
483         /// <summary>
484         /// CallForwardUnconditional data.
485         /// </summary>
486         /// <since_tizen> 4 </since_tizen>
487         public int Data
488         {
489             get
490             {
491                 return _data;
492             }
493
494             set
495             {
496                 _data = value;
497             }
498         }
499     }
500
501     /// <summary>
502     /// A class which defines call forwarding response.
503     /// </summary>
504     /// <since_tizen> 4 </since_tizen>
505     public class SimCallForwardResponse
506     {
507         internal bool IsCphsCf;
508         internal SimCfisList List;
509         internal SimCphsCf CphsCfInfo;
510         internal SimCallForwardResponse()
511         {
512         }
513
514         /// <summary>
515         /// CPHS or not.
516         /// </summary>
517         /// <since_tizen> 4 </since_tizen>
518         public bool IsCphs
519         {
520             get
521             {
522                 return IsCphsCf;
523             }
524         }
525
526         /// <summary>
527         /// List of CFIS.
528         /// </summary>
529         /// <since_tizen> 4 </since_tizen>
530         public SimCfisList CfList
531         {
532             get
533             {
534                 return List;
535             }
536         }
537
538         /// <summary>
539         /// CPHS CF.
540         /// </summary>
541         /// <since_tizen> 4 </since_tizen>
542         public SimCphsCf CphsCf
543         {
544             get
545             {
546                 return CphsCfInfo;
547             }
548         }
549     }
550
551     /// <summary>
552     /// A class which defines call forwarding request.
553     /// </summary>
554     /// <since_tizen> 4 </since_tizen>
555     public class SimCallForwardRequest
556     {
557         private bool _isCphs;
558         private SimCfis _cfis;
559         private SimCphsCf _cphsCf;
560
561         /// <summary>
562         /// CPHS or not.
563         /// </summary>
564         /// <since_tizen> 4 </since_tizen>
565         public bool IsCphs
566         {
567             get
568             {
569                 return _isCphs;
570             }
571
572             set
573             {
574                 _isCphs = value;
575             }
576         }
577
578         /// <summary>
579         /// CFIS.
580         /// </summary>
581         /// <since_tizen> 4 </since_tizen>
582         /// <remarks>
583         /// This should be filled only if IsCphs is false.
584         /// </remarks>
585         public SimCfis Cfis
586         {
587             get
588             {
589                 return _cfis;
590             }
591
592             set
593             {
594                 _cfis = value;
595             }
596         }
597
598         /// <summary>
599         /// CPHS CF.
600         /// </summary>
601         /// <since_tizen> 4 </since_tizen>
602         /// <remarks>
603         /// This should be filled only if IsCphs is true.
604         /// </remarks>
605         public SimCphsCf CphsCf
606         {
607             get
608             {
609                 return _cphsCf;
610             }
611
612             set
613             {
614                 _cphsCf = value;
615             }
616         }
617     }
618
619     /// <summary>
620     /// A class which defines message waiting indication status data.
621     /// </summary>
622     /// <since_tizen> 4 </since_tizen>
623     public class SimMwis
624     {
625         private int _recIndex;
626         private byte _indicatorStatus;
627         private int _voiceCount;
628         private int _faxCount;
629         private int _emailCount;
630         private int _otherCount;
631         private int _videoCount;
632
633         /// <summary>
634         /// Record index.
635         /// </summary>
636         /// <since_tizen> 4 </since_tizen>
637         public int RecIndex
638         {
639             get
640             {
641                 return _recIndex;
642             }
643
644             set
645             {
646                 _recIndex = value;
647             }
648         }
649
650         /// <summary>
651         /// Indicator type.
652         /// </summary>
653         /// <since_tizen> 4 </since_tizen>
654         public byte IndicatorStatus
655         {
656             get
657             {
658                 return _indicatorStatus;
659             }
660
661             set
662             {
663                 _indicatorStatus = value;
664             }
665         }
666
667         /// <summary>
668         /// VoiceMail count.
669         /// </summary>
670         /// <since_tizen> 4 </since_tizen>
671         public int VoiceCount
672         {
673             get
674             {
675                 return _voiceCount;
676             }
677
678             set
679             {
680                 _voiceCount = value;
681             }
682         }
683
684         /// <summary>
685         /// Fax count.
686         /// </summary>
687         /// <since_tizen> 4 </since_tizen>
688         public int FaxCount
689         {
690             get
691             {
692                 return _faxCount;
693             }
694
695             set
696             {
697                 _faxCount = value;
698             }
699         }
700
701         /// <summary>
702         /// Email count.
703         /// </summary>
704         /// <since_tizen> 4 </since_tizen>
705         public int EmailCount
706         {
707             get
708             {
709                 return _emailCount;
710             }
711
712             set
713             {
714                 _emailCount = value;
715             }
716         }
717
718         /// <summary>
719         /// Other count.
720         /// </summary>
721         /// <since_tizen> 4 </since_tizen>
722         public int OtherCount
723         {
724             get
725             {
726                 return _otherCount;
727             }
728
729             set
730             {
731                 _otherCount = value;
732             }
733         }
734
735         /// <summary>
736         /// VideoMail count.
737         /// </summary>
738         /// <since_tizen> 4 </since_tizen>
739         public int VideoCount
740         {
741             get
742             {
743                 return _videoCount;
744             }
745
746             set
747             {
748                 _videoCount = value;
749             }
750         }
751     }
752
753     /// <summary>
754     /// A class which defines message waiting indication status list.
755     /// </summary>
756     /// <since_tizen> 4 </since_tizen>
757     public class SimMwisList
758     {
759         internal int Count;
760         internal IEnumerable<SimMwis> List;
761         internal SimMwisList()
762         {
763         }
764
765         /// <summary>
766         /// Profile count.
767         /// </summary>
768         /// <since_tizen> 4 </since_tizen>
769         public int ProfileCount
770         {
771             get
772             {
773                 return Count;
774             }
775         }
776
777         /// <summary>
778         /// List of MWIS.
779         /// </summary>
780         /// <since_tizen> 4 </since_tizen>
781         public IEnumerable<SimMwis> MwList
782         {
783             get
784             {
785                 return List;
786             }
787         }
788     }
789
790     /// <summary>
791     /// A class which defines CPHS message waiting status data.
792     /// </summary>
793     /// <since_tizen> 4 </since_tizen>
794     public class SimCphsMw
795     {
796         private bool _isVoice1;
797         private bool _isVoice2;
798         private bool _isFax;
799         private bool _isData;
800
801         /// <summary>
802         /// VoiceMsgLine1 message waiting flag.
803         /// </summary>
804         /// <since_tizen> 4 </since_tizen>
805         public bool IsVoice1
806         {
807             get
808             {
809                 return _isVoice1;
810             }
811
812             set
813             {
814                 _isVoice1 = value;
815             }
816         }
817
818         /// <summary>
819         /// VoiceMsgLine2 message waiting flag.
820         /// </summary>
821         /// <since_tizen> 4 </since_tizen>
822         public bool IsVoice2
823         {
824             get
825             {
826                 return _isVoice2;
827             }
828
829             set
830             {
831                 _isVoice2 = value;
832             }
833         }
834
835         /// <summary>
836         /// FAX message waiting flag.
837         /// </summary>
838         /// <since_tizen> 4 </since_tizen>
839         public bool IsFax
840         {
841             get
842             {
843                 return _isFax;
844             }
845
846             set
847             {
848                 _isFax = value;
849             }
850         }
851
852         /// <summary>
853         /// Data message waiting flag.
854         /// </summary>
855         /// <since_tizen> 4 </since_tizen>
856         public bool IsData
857         {
858             get
859             {
860                 return _isData;
861             }
862
863             set
864             {
865                 _isData = value;
866             }
867         }
868     }
869
870     /// <summary>
871     /// A class which defines message waiting reponse.
872     /// </summary>
873     /// <since_tizen> 4 </since_tizen>
874     public class SimMessageWaitingResponse
875     {
876         internal bool IsCphsMw;
877         internal SimMwisList List;
878         internal SimCphsMw CphsMwInfo;
879         internal SimMessageWaitingResponse()
880         {
881         }
882
883         /// <summary>
884         /// CPHS or not.
885         /// </summary>
886         /// <since_tizen> 4 </since_tizen>
887         public bool IsCphs
888         {
889             get
890             {
891                 return IsCphsMw;
892             }
893         }
894
895         /// <summary>
896         /// List of MWIS.
897         /// </summary>
898         /// <since_tizen> 4 </since_tizen>
899         public SimMwisList MwList
900         {
901             get
902             {
903                 return List;
904             }
905         }
906
907         /// <summary>
908         /// CPHS MW.
909         /// </summary>
910         /// <since_tizen> 4 </since_tizen>
911         public SimCphsMw CphsMw
912         {
913             get
914             {
915                 return CphsMwInfo;
916             }
917         }
918     }
919
920     /// <summary>
921     /// A class which defines message waiting request.
922     /// </summary>
923     /// <since_tizen> 4 </since_tizen>
924     public class SimMessageWaitingRequest
925     {
926         private bool _isCphs;
927         private SimMwis _mwis;
928         private SimCphsMw _cphsMw;
929
930         /// <summary>
931         /// CPHS or not.
932         /// </summary>
933         /// <since_tizen> 4 </since_tizen>
934         public bool IsCphs
935         {
936             get
937             {
938                 return _isCphs;
939             }
940
941             set
942             {
943                 _isCphs = value;
944             }
945         }
946
947         /// <summary>
948         /// MWIS.
949         /// </summary>
950         /// <since_tizen> 4 </since_tizen>
951         /// <remarks>
952         /// This should be filled only if IsCphs is false.
953         /// </remarks>
954         public SimMwis Mwis
955         {
956             get
957             {
958                 return _mwis;
959             }
960
961             set
962             {
963                 _mwis = value;
964             }
965         }
966
967         /// <summary>
968         /// CPHS MW.
969         /// </summary>
970         /// <since_tizen> 4 </since_tizen>
971         /// <remarks>
972         /// This should be filled only if IsCphs is true.
973         /// </remarks>
974         public SimCphsMw CphsMw
975         {
976             get
977             {
978                 return _cphsMw;
979             }
980
981             set
982             {
983                 _cphsMw = value;
984             }
985         }
986     }
987
988     /// <summary>
989     /// A class which defines mailbox dialing number data.
990     /// </summary>
991     /// <since_tizen> 4 </since_tizen>
992     public class SimMailboxNumber
993     {
994         private bool _isCphs;
995         private int _recIndex;
996         private int _profileNumber;
997         private SimMailboxType _mbType;
998         private int _alphaMaxLength;
999         private string _alphaId;
1000         private SimTypeOfNumber _ton;
1001         private SimNumberPlanIdentity _npi;
1002         private string _number;
1003         private byte _ccId;
1004         private byte _ext1Id;
1005
1006         /// <summary>
1007         /// CPHS or not.
1008         /// </summary>
1009         /// <since_tizen> 4 </since_tizen>
1010         public bool IsCphs
1011         {
1012             get
1013             {
1014                 return _isCphs;
1015             }
1016
1017             set
1018             {
1019                 _isCphs = value;
1020             }
1021         }
1022
1023         /// <summary>
1024         /// Index which stands for the location where the record is saved in SIM.
1025         /// </summary>
1026         /// <since_tizen> 4 </since_tizen>
1027         public int RecIndex
1028         {
1029             get
1030             {
1031                 return _recIndex;
1032             }
1033
1034             set
1035             {
1036                 _recIndex = value;
1037             }
1038         }
1039
1040         /// <summary>
1041         /// SIM profile index.
1042         /// </summary>
1043         /// <since_tizen> 4 </since_tizen>
1044         public int ProfileNumber
1045         {
1046             get
1047             {
1048                 return _profileNumber;
1049             }
1050
1051             set
1052             {
1053                 _profileNumber = value;
1054             }
1055         }
1056
1057         /// <summary>
1058         /// Mailbox type.
1059         /// </summary>
1060         /// <since_tizen> 4 </since_tizen>
1061         public SimMailboxType MbType
1062         {
1063             get
1064             {
1065                 return _mbType;
1066             }
1067
1068             set
1069             {
1070                 _mbType = value;
1071             }
1072         }
1073
1074         /// <summary>
1075         /// Alpha max length in SIM.
1076         /// </summary>
1077         /// <since_tizen> 4 </since_tizen>
1078         public int AlphaMaxLength
1079         {
1080             get
1081             {
1082                 return _alphaMaxLength;
1083             }
1084
1085             set
1086             {
1087                 _alphaMaxLength = value;
1088             }
1089         }
1090
1091         /// <summary>
1092         /// Alpha Identifier.
1093         /// </summary>
1094         /// <since_tizen> 4 </since_tizen>
1095         public string AlphaId
1096         {
1097             get
1098             {
1099                 return _alphaId;
1100             }
1101
1102             set
1103             {
1104                 _alphaId = value;
1105             }
1106         }
1107
1108         /// <summary>
1109         /// Type Of Number.
1110         /// </summary>
1111         /// <since_tizen> 4 </since_tizen>
1112         public SimTypeOfNumber Ton
1113         {
1114             get
1115             {
1116                 return _ton;
1117             }
1118
1119             set
1120             {
1121                 _ton = value;
1122             }
1123         }
1124
1125         /// <summary>
1126         /// Number Plan Identity.
1127         /// </summary>
1128         /// <since_tizen> 4 </since_tizen>
1129         public SimNumberPlanIdentity Npi
1130         {
1131             get
1132             {
1133                 return _npi;
1134             }
1135
1136             set
1137             {
1138                 _npi = value;
1139             }
1140         }
1141
1142         /// <summary>
1143         /// Dialing Number/SSC String.
1144         /// </summary>
1145         /// <since_tizen> 4 </since_tizen>
1146         public string Number
1147         {
1148             get
1149             {
1150                 return _number;
1151             }
1152
1153             set
1154             {
1155                 _number = value;
1156             }
1157         }
1158
1159         /// <summary>
1160         /// Capability/Configuration Identifier.
1161         /// </summary>
1162         /// <since_tizen> 4 </since_tizen>
1163         public byte CcId
1164         {
1165             get
1166             {
1167                 return _ccId;
1168             }
1169
1170             set
1171             {
1172                 _ccId = value;
1173             }
1174         }
1175
1176         /// <summary>
1177         /// Extension 1 Record Identifier.
1178         /// </summary>
1179         /// <since_tizen> 4 </since_tizen>
1180         public byte Ext1Id
1181         {
1182             get
1183             {
1184                 return _ext1Id;
1185             }
1186
1187             set
1188             {
1189                 _ext1Id = value;
1190             }
1191         }
1192     }
1193
1194     /// <summary>
1195     /// A class which defines mailbox dialing number list.
1196     /// </summary>
1197     /// <since_tizen> 4 </since_tizen>
1198     public class SimMailboxList
1199     {
1200         internal int MbCount;
1201         internal IEnumerable<SimMailboxNumber> MbList;
1202         internal SimMailboxList()
1203         {
1204         }
1205
1206         /// <summary>
1207         /// Mailbox count.
1208         /// </summary>
1209         /// <since_tizen> 4 </since_tizen>
1210         public int Count
1211         {
1212             get
1213             {
1214                 return MbCount;
1215             }
1216         }
1217
1218         /// <summary>
1219         /// List of mailbox.
1220         /// </summary>
1221         /// <since_tizen> 4 </since_tizen>
1222         public IEnumerable<SimMailboxNumber> List
1223         {
1224             get
1225             {
1226                 return MbList;
1227             }
1228         }
1229     }
1230
1231     /// <summary>
1232     /// A class which defines available optional CPHS SIM files.
1233     /// </summary>
1234     /// <since_tizen> 4 </since_tizen>
1235     public class SimCphsServiceTable
1236     {
1237         internal int CustomerSvcProfile;
1238         internal int SvcStringTable;
1239         internal int MbNumbers;
1240         internal int OperatorNameShort;
1241         internal int InformationNum;
1242         internal SimCphsServiceTable()
1243         {
1244         }
1245
1246         /// <summary>
1247         /// Customer Service Profile (CSP).
1248         /// </summary>
1249         /// <since_tizen> 4 </since_tizen>
1250         public int CustomerServiceProfile
1251         {
1252             get
1253             {
1254                 return CustomerSvcProfile;
1255             }
1256         }
1257
1258         /// <summary>
1259         /// Service String Table (SST).
1260         /// </summary>
1261         /// <since_tizen> 4 </since_tizen>
1262         public int ServiceStringTable
1263         {
1264             get
1265             {
1266                 return SvcStringTable;
1267             }
1268         }
1269
1270         /// <summary>
1271         /// MailBoxNumbers.
1272         /// </summary>
1273         /// <since_tizen> 4 </since_tizen>
1274         public int MailboxNumbers
1275         {
1276             get
1277             {
1278                 return MbNumbers;
1279             }
1280         }
1281
1282         /// <summary>
1283         /// Short form of operator name.
1284         /// </summary>
1285         /// <since_tizen> 4 </since_tizen>
1286         public int OperatorNameShortForm
1287         {
1288             get
1289             {
1290                 return OperatorNameShort;
1291             }
1292         }
1293
1294         /// <summary>
1295         /// Information numbers.
1296         /// </summary>
1297         /// <since_tizen> 4 </since_tizen>
1298         public int InformationNumbers
1299         {
1300             get
1301             {
1302                 return InformationNum;
1303             }
1304         }
1305     }
1306
1307     /// <summary>
1308     /// A class which defines CPHS information data.
1309     /// </summary>
1310     /// <since_tizen> 4 </since_tizen>
1311     public class SimCphsInfo
1312     {
1313         internal SimCphsPhaseType Phase;
1314         internal SimCphsServiceTable CphsSvcTable;
1315         internal SimCphsInfo()
1316         {
1317         }
1318
1319         /// <summary>
1320         /// CPHS phase type.
1321         /// </summary>
1322         /// <since_tizen> 4 </since_tizen>
1323         public SimCphsPhaseType CphsPhase
1324         {
1325             get
1326             {
1327                 return Phase;
1328             }
1329         }
1330
1331         /// <summary>
1332         /// CPHS service table.
1333         /// </summary>
1334         /// <since_tizen> 4 </since_tizen>
1335         public SimCphsServiceTable CphsServiceTable
1336         {
1337             get
1338             {
1339                 return CphsSvcTable;
1340             }
1341         }
1342     }
1343
1344     /// <summary>
1345     /// A class which defines CSIM service table.
1346     /// </summary>
1347     /// <since_tizen> 4 </since_tizen>
1348     public class SimCst
1349     {
1350         internal SimCdmaServiceTable CdmaSvc;
1351         internal byte[] Cdma;
1352         internal byte[] Csim;
1353         internal SimCst()
1354         {
1355         }
1356
1357         /// <summary>
1358         /// Cdma service table;
1359         /// </summary>
1360         /// <since_tizen> 4 </since_tizen>
1361         public SimCdmaServiceTable CdmaSvcTable
1362         {
1363             get
1364             {
1365                 return CdmaSvc;
1366             }
1367         }
1368
1369         /// <summary>
1370         /// Cdma service. Gives mask value of SimCdmaService enum.
1371         /// </summary>
1372         /// <since_tizen> 4 </since_tizen>
1373         /// <remarks>
1374         /// This will be filled only if CdmaSvcTable is Cdma.
1375         /// </remarks>
1376         public byte[] CdmaService
1377         {
1378             get
1379             {
1380                 return Cdma;
1381             }
1382         }
1383
1384         /// <summary>
1385         /// Csim service. Gives mask value of SimCsimService enum.
1386         /// </summary>
1387         /// <since_tizen> 4 </since_tizen>
1388         /// <remarks>
1389         /// This will be filled only if CdmaSvcTable is Csim.
1390         /// </remarks>
1391         public byte[] CsimService
1392         {
1393             get
1394             {
1395                 return Csim;
1396             }
1397         }
1398     }
1399
1400     /// <summary>
1401     /// A class which defines SIM service table.
1402     /// </summary>
1403     /// <since_tizen> 4 </since_tizen>
1404     public class SimServiceTable
1405     {
1406         internal SimCardType Type;
1407         internal byte[] Sst;
1408         internal byte[] Ust;
1409         internal SimCst Cst;
1410         internal SimServiceTable()
1411         {
1412         }
1413
1414         /// <summary>
1415         /// SIM card type.
1416         /// </summary>
1417         /// <since_tizen> 4 </since_tizen>
1418         public SimCardType SimType
1419         {
1420             get
1421             {
1422                 return Type;
1423             }
1424         }
1425
1426         /// <summary>
1427         /// SIM service table. Gives mask value of SimSstService enum.
1428         /// </summary>
1429         /// <since_tizen> 4 </since_tizen>
1430         /// <remarks>
1431         /// This will be filled only if SimType is Gsm.
1432         /// </remarks>
1433         public byte[] SstService
1434         {
1435             get
1436             {
1437                 return Sst;
1438             }
1439         }
1440
1441         /// <summary>
1442         /// USIM service table. Gives mask value of SimUstService enum.
1443         /// </summary>
1444         /// <since_tizen> 4 </since_tizen>
1445         /// <remarks>
1446         /// This will be filled only if SimType is Usim.
1447         /// </remarks>
1448         public byte[] UstService
1449         {
1450             get
1451             {
1452                 return Ust;
1453             }
1454         }
1455
1456         /// <summary>
1457         /// CSIM service table.
1458         /// </summary>
1459         /// <since_tizen> 4 </since_tizen>
1460         /// <remarks>
1461         /// This will be filled only if SimType is Ruim.
1462         /// </remarks>
1463         public SimCst CstService
1464         {
1465             get
1466             {
1467                 return Cst;
1468             }
1469         }
1470     }
1471
1472     /// <summary>
1473     /// A class which defines MSISDN information of the GSM/CDMA SIM.
1474     /// </summary>
1475     /// <since_tizen> 4 </since_tizen>
1476     public class SimSubscriberInfo
1477     {
1478         internal string MsisdnNum;
1479         internal string MsisdnName;
1480         internal SimSubscriberInfo()
1481         {
1482         }
1483
1484         /// <summary>
1485         /// MSISDN number. If it does not exist, a null string will be returned
1486         /// </summary>
1487         /// <since_tizen> 4 </since_tizen>
1488         public string Number
1489         {
1490             get
1491             {
1492                 return MsisdnNum;
1493             }
1494         }
1495
1496         /// <summary>
1497         /// MSISDN name. If it does not exist, a null string will be returned. Not applicable for CDMA.
1498         /// </summary>
1499         /// <since_tizen> 4 </since_tizen>
1500         public string Name
1501         {
1502             get
1503             {
1504                 return MsisdnName;
1505             }
1506         }
1507     }
1508
1509     /// <summary>
1510     /// A class which defines MSISDN list.
1511     /// </summary>
1512     /// <since_tizen> 4 </since_tizen>
1513     public class SimMsisdnList
1514     {
1515         internal int MsisdnCount;
1516         internal IEnumerable<SimSubscriberInfo> SubscriberList;
1517         internal SimMsisdnList()
1518         {
1519         }
1520
1521         /// <summary>
1522         /// Count.
1523         /// </summary>
1524         /// <since_tizen> 4 </since_tizen>
1525         public int Count
1526         {
1527             get
1528             {
1529                 return MsisdnCount;
1530             }
1531         }
1532
1533         /// <summary>
1534         /// List of subscriber info.
1535         /// </summary>
1536         /// <since_tizen> 4 </since_tizen>
1537         public IEnumerable<SimSubscriberInfo> List
1538         {
1539             get
1540             {
1541                 return SubscriberList;
1542             }
1543         }
1544     }
1545
1546     /// <summary>
1547     /// A class which defines OPLMNwACT data.
1548     /// </summary>
1549     /// <since_tizen> 4 </since_tizen>
1550     public class SimOplmnwact
1551     {
1552         internal string PlmnString;
1553         internal bool UmtsFlag;
1554         internal bool GsmFlag;
1555         internal SimOplmnwact()
1556         {
1557         }
1558
1559         /// <summary>
1560         /// PLMN.
1561         /// </summary>
1562         /// <since_tizen> 4 </since_tizen>
1563         public string Plmn
1564         {
1565             get
1566             {
1567                 return PlmnString;
1568             }
1569         }
1570
1571         /// <summary>
1572         /// UMTS or not.
1573         /// </summary>
1574         /// <since_tizen> 4 </since_tizen>
1575         public bool IsUmts
1576         {
1577             get
1578             {
1579                 return UmtsFlag;
1580             }
1581         }
1582
1583         /// <summary>
1584         /// GSM or not.
1585         /// </summary>
1586         /// <since_tizen> 4 </since_tizen>
1587         public bool IsGsm
1588         {
1589             get
1590             {
1591                 return GsmFlag;
1592             }
1593         }
1594     }
1595
1596     /// <summary>
1597     /// A class which defines OPLMNwACT list.
1598     /// </summary>
1599     /// <since_tizen> 4 </since_tizen>
1600     public class SimOplmnwactList
1601     {
1602         internal int OplmnCount;
1603         internal IEnumerable<SimOplmnwact> OplmnList;
1604         internal SimOplmnwactList()
1605         {
1606         }
1607
1608         /// <summary>
1609         /// Count.
1610         /// </summary>
1611         /// <since_tizen> 4 </since_tizen>
1612         public int Count
1613         {
1614             get
1615             {
1616                 return OplmnCount;
1617             }
1618         }
1619
1620         /// <summary>
1621         /// List of OPLMNWACT.
1622         /// </summary>
1623         /// <since_tizen> 4 </since_tizen>
1624         public IEnumerable<SimOplmnwact> List
1625         {
1626             get
1627             {
1628                 return OplmnList;
1629             }
1630         }
1631     }
1632
1633     /// <summary>
1634     /// A class which defines SPN(Service Provider Name).
1635     /// </summary>
1636     /// <since_tizen> 4 </since_tizen>
1637     public class SimSpn
1638     {
1639         internal byte Condition;
1640         internal string SpName;
1641         internal SimSpn()
1642         {
1643         }
1644
1645         /// <summary>
1646         /// Display condition.
1647         /// </summary>
1648         /// <since_tizen> 4 </since_tizen>
1649         public byte DisplayCondition
1650         {
1651             get
1652             {
1653                 return Condition;
1654             }
1655         }
1656
1657         /// <summary>
1658         /// Service Provider Name.
1659         /// </summary>
1660         /// <since_tizen> 4 </since_tizen>
1661         public string Spn
1662         {
1663             get
1664             {
1665                 return SpName;
1666             }
1667         }
1668     }
1669
1670     /// <summary>
1671     /// A class which defines CPHS network name.
1672     /// </summary>
1673     /// <since_tizen> 4 </since_tizen>
1674     public class SimCphsNetName
1675     {
1676         internal string Full;
1677         internal string Short;
1678         internal SimCphsNetName()
1679         {
1680         }
1681
1682         /// <summary>
1683         /// Full name.
1684         /// </summary>
1685         /// <since_tizen> 4 </since_tizen>
1686         public string FullName
1687         {
1688             get
1689             {
1690                 return Full;
1691             }
1692         }
1693
1694         /// <summary>
1695         /// Short name.
1696         /// </summary>
1697         /// <since_tizen> 4 </since_tizen>
1698         public string ShortName
1699         {
1700             get
1701             {
1702                 return Short;
1703             }
1704         }
1705     }
1706
1707     /// <summary>
1708     /// A class which defines authentication request data.
1709     /// </summary>
1710     /// <since_tizen> 4 </since_tizen>
1711     public class SimAuthenticationData
1712     {
1713         private SimAuthenticationType _authType;
1714         private int _randLength;
1715         private int _autnLength;
1716         private byte[] _randData;
1717         private byte[] _autnData;
1718         private SimAuthenticationData()
1719         {
1720         }
1721
1722         /// <summary>
1723         /// A constructor to instantiate SimAuthenticationData class with necessary parameters.
1724         /// </summary>
1725         /// <since_tizen> 4 </since_tizen>
1726         /// <param name="authType">Authentication type.</param>
1727         /// <param name="randLength">The length of RAND.</param>
1728         /// <param name="autnLength">The length of AUTN. It is not used in case of GSM AUTH.</param>
1729         /// <param name="randData">RAND data.</param>
1730         /// <param name="autnData">AUTN data. It is not used in case of GSM AUTH.</param>
1731         public SimAuthenticationData(SimAuthenticationType authType, int randLength, int autnLength, byte[] randData, byte[] autnData)
1732         {
1733             _authType = authType;
1734             _randLength = randLength;
1735             _autnLength = autnLength;
1736             _randData = randData;
1737             _autnData = autnData;
1738         }
1739
1740         internal SimAuthenticationType AuthType
1741         {
1742             get
1743             {
1744                 return _authType;
1745             }
1746         }
1747
1748         internal int RandLength
1749         {
1750             get
1751             {
1752                 return _randLength;
1753             }
1754         }
1755
1756         internal int AutnLength
1757         {
1758             get
1759             {
1760                 return _autnLength;
1761             }
1762         }
1763
1764         internal byte[] RandData
1765         {
1766             get
1767             {
1768                 return _randData;
1769             }
1770         }
1771
1772         internal byte[] AutnData
1773         {
1774             get
1775             {
1776                 return _autnData;
1777             }
1778         }
1779     }
1780
1781     /// <summary>
1782     /// A class which defines authentication result data.
1783     /// </summary>
1784     /// <since_tizen> 4 </since_tizen>
1785     public class SimAuthenticationResponse
1786     {
1787         internal SimAuthenticationType Type;
1788         internal SimAuthenticationResult Result;
1789         internal int RespLength;
1790         internal string RespData;
1791         internal int AuthKeyLen;
1792         internal string Key;
1793         internal int CipherLen;
1794         internal string Cipher;
1795         internal int IntegrityLen;
1796         internal string Integrity;
1797         internal SimAuthenticationResponse()
1798         {
1799         }
1800
1801         /// <summary>
1802         /// Authentication type.
1803         /// </summary>
1804         /// <since_tizen> 4 </since_tizen>
1805         public SimAuthenticationType AuthType
1806         {
1807             get
1808             {
1809                 return Type;
1810             }
1811         }
1812
1813         /// <summary>
1814         /// Authentication result.
1815         /// </summary>
1816         /// <since_tizen> 4 </since_tizen>
1817         public SimAuthenticationResult AuthResult
1818         {
1819             get
1820             {
1821                 return Result;
1822             }
1823         }
1824
1825         /// <summary>
1826         /// Response length.
1827         /// </summary>
1828         /// <since_tizen> 4 </since_tizen>
1829         public int ResponseLength
1830         {
1831             get
1832             {
1833                 return RespLength;
1834             }
1835         }
1836
1837         /// <summary>
1838         /// Response data.
1839         /// </summary>
1840         /// <since_tizen> 4 </since_tizen>
1841         public string ResponseData
1842         {
1843             get
1844             {
1845                 return RespData;
1846             }
1847         }
1848
1849         /// <summary>
1850         /// The length of the authentication key.
1851         /// </summary>
1852         /// <since_tizen> 4 </since_tizen>
1853         public int AuthKeyLength
1854         {
1855             get
1856             {
1857                 return AuthKeyLen;
1858             }
1859         }
1860
1861         /// <summary>
1862         /// The data of the authentication key.
1863         /// </summary>
1864         /// <since_tizen> 4 </since_tizen>
1865         public string AuthKey
1866         {
1867             get
1868             {
1869                 return Key;
1870             }
1871         }
1872
1873         /// <summary>
1874         /// The length of the cipher key.
1875         /// </summary>
1876         /// <since_tizen> 4 </since_tizen>
1877         public int CipherLength
1878         {
1879             get
1880             {
1881                 return CipherLen;
1882             }
1883         }
1884
1885         /// <summary>
1886         /// Cipher key.
1887         /// </summary>
1888         /// <since_tizen> 4 </since_tizen>
1889         public string CipherData
1890         {
1891             get
1892             {
1893                 return Cipher;
1894             }
1895         }
1896
1897         /// <summary>
1898         /// The length of the integrity key.
1899         /// </summary>
1900         /// <since_tizen> 4 </since_tizen>
1901         public int IntegrityLength
1902         {
1903             get
1904             {
1905                 return IntegrityLen;
1906             }
1907         }
1908
1909         /// <summary>
1910         /// Integrity key.
1911         /// </summary>
1912         /// <since_tizen> 4 </since_tizen>
1913         public string IntegrityData
1914         {
1915             get
1916             {
1917                 return Integrity;
1918             }
1919         }
1920     }
1921
1922     /// <summary>
1923     /// A class which defines information about SIM PIN data.
1924     /// </summary>
1925     /// <since_tizen> 4 </since_tizen>
1926     public class SimPinData
1927     {
1928         private SimPinType _type;
1929         private string _pin;
1930         private uint _pinLength;
1931         private SimPinData()
1932         {
1933         }
1934
1935         /// <summary>
1936         /// A constructor to instantiate SimPinData class which necessary parameters.
1937         /// </summary>
1938         /// <since_tizen> 4 </since_tizen>
1939         /// <param name="type">PIN type.</param>
1940         /// <param name="pin">PIN code.</param>
1941         /// <param name="pinLength">PIN code length.</param>
1942         public SimPinData(SimPinType type, string pin, uint pinLength)
1943         {
1944             _type = type;
1945             _pin = pin;
1946             _pinLength = pinLength;
1947         }
1948
1949         internal SimPinType Type
1950         {
1951             get
1952             {
1953                 return _type;
1954             }
1955         }
1956
1957         internal string Pin
1958         {
1959             get
1960             {
1961                 return _pin;
1962             }
1963         }
1964
1965         internal uint PinLength
1966         {
1967             get
1968             {
1969                 return _pinLength;
1970             }
1971         }
1972     }
1973
1974     /// <summary>
1975     /// A class which defines PIN information.
1976     /// </summary>
1977     /// <since_tizen> 4 </since_tizen>
1978     public class SimPinResult
1979     {
1980         internal SimPinType PinType;
1981         internal int Retry;
1982         internal SimPinResult()
1983         {
1984         }
1985
1986         /// <summary>
1987         /// Specifies the PIN or PUK type.
1988         /// </summary>
1989         /// <since_tizen> 4 </since_tizen>
1990         public SimPinType Type
1991         {
1992             get
1993             {
1994                 return PinType;
1995             }
1996         }
1997
1998         /// <summary>
1999         /// Number of attempts remaining for PIN/PUK verification.
2000         /// </summary>
2001         /// <since_tizen> 4 </since_tizen>
2002         public int RetryCount
2003         {
2004             get
2005             {
2006                 return Retry;
2007             }
2008         }
2009     }
2010
2011     /// <summary>
2012     /// A class which is used to used to enable/disable facility.
2013     /// </summary>
2014     /// <since_tizen> 4 </since_tizen>
2015     public class SimFacility
2016     {
2017         private SimLockType _lockType;
2018         private string _password;
2019         private int _passwordLength;
2020         private SimFacility()
2021         {
2022         }
2023
2024         /// <summary>
2025         /// A constructor to instantiate SimFacility class with necessary parameters.
2026         /// </summary>
2027         /// <since_tizen> 4 </since_tizen>
2028         /// <param name="lockType">Facility type.</param>
2029         /// <param name="password">Password.</param>
2030         /// <param name="passwordLength">Password length.</param>
2031         public SimFacility(SimLockType lockType, string password, int passwordLength)
2032         {
2033             _lockType = lockType;
2034             _password = password;
2035             _passwordLength = passwordLength;
2036         }
2037
2038         internal SimLockType LockType
2039         {
2040             get
2041             {
2042                 return _lockType;
2043             }
2044         }
2045
2046         internal string Password
2047         {
2048             get
2049             {
2050                 return _password;
2051             }
2052         }
2053
2054         internal int PasswordLength
2055         {
2056             get
2057             {
2058                 return _passwordLength;
2059             }
2060         }
2061     }
2062
2063     /// <summary>
2064     /// A class which defines facility result data.
2065     /// </summary>
2066     /// <since_tizen> 4 </since_tizen>
2067     public class SimFacilityResult
2068     {
2069         internal SimLockType LockType;
2070         internal int Count;
2071         internal SimFacilityResult()
2072         {
2073         }
2074
2075         /// <summary>
2076         /// Specifies the PIN or PUK type.
2077         /// </summary>
2078         /// <since_tizen> 4 </since_tizen>
2079         public SimLockType Type
2080         {
2081             get
2082             {
2083                 return LockType;
2084             }
2085         }
2086
2087         /// <summary>
2088         /// Number of attempts remaining for PIN/PUK verification.
2089         /// </summary>
2090         /// <since_tizen> 4 </since_tizen>
2091         public int RetryCount
2092         {
2093             get
2094             {
2095                 return Count;
2096             }
2097         }
2098     }
2099
2100     /// <summary>
2101     /// A class which defines facility info data.
2102     /// </summary>
2103     /// <since_tizen> 4 </since_tizen>
2104     public class SimFacilityInfo
2105     {
2106         internal SimLockType LockType;
2107         internal SimFacilityStatus FacilityStatus;
2108         internal SimFacilityInfo()
2109         {
2110         }
2111
2112         /// <summary>
2113         /// Lock type.
2114         /// </summary>
2115         /// <since_tizen> 4 </since_tizen>
2116         public SimLockType Type
2117         {
2118             get
2119             {
2120                 return LockType;
2121             }
2122         }
2123
2124         /// <summary>
2125         /// Facility status.
2126         /// </summary>
2127         /// <since_tizen> 4 </since_tizen>
2128         public SimFacilityStatus Status
2129         {
2130             get
2131             {
2132                 return FacilityStatus;
2133             }
2134         }
2135     }
2136
2137     /// <summary>
2138     /// A class which defines information about lock type.
2139     /// </summary>
2140     /// <since_tizen> 4 </since_tizen>
2141     public class SimLockInfo
2142     {
2143         internal SimLockType LockType;
2144         internal SimLockStatus LockStatus;
2145         internal int Count;
2146         internal SimLockInfo()
2147         {
2148         }
2149
2150         /// <summary>
2151         /// Lock type.
2152         /// </summary>
2153         /// <since_tizen> 4 </since_tizen>
2154         public SimLockType Type
2155         {
2156             get
2157             {
2158                 return LockType;
2159             }
2160         }
2161
2162         /// <summary>
2163         /// Lock status.
2164         /// </summary>
2165         /// <since_tizen> 4 </since_tizen>
2166         public SimLockStatus Status
2167         {
2168             get
2169             {
2170                 return LockStatus;
2171             }
2172         }
2173
2174         /// <summary>
2175         /// Retry counts.
2176         /// </summary>
2177         /// <since_tizen> 4 </since_tizen>
2178         public int RetryCount
2179         {
2180             get
2181             {
2182                 return Count;
2183             }
2184         }
2185     }
2186
2187     /// <summary>
2188     /// A class which defines APDU information.
2189     /// </summary>
2190     /// <since_tizen> 4 </since_tizen>
2191     public class SimApdu
2192     {
2193         private byte[] _apdu;
2194         private SimApdu()
2195         {
2196         }
2197
2198         /// <summary>
2199         /// A constructor to instantiate SimApdu class with necessary parameters.
2200         /// </summary>
2201         /// <since_tizen> 4 </since_tizen>
2202         /// <param name="apdu">APDU.</param>
2203         public SimApdu(byte[] apdu)
2204         {
2205             _apdu = apdu;
2206         }
2207
2208         internal byte[] Apdu
2209         {
2210             get
2211             {
2212                 return _apdu;
2213             }
2214         }
2215     }
2216
2217     /// <summary>
2218     /// A class which defines the response of sending APDU.
2219     /// </summary>
2220     /// <since_tizen> 4 </since_tizen>
2221     public class SimApduResponse
2222     {
2223         internal ushort ApduLen;
2224         internal byte[] ApduResp;
2225         internal SimApduResponse()
2226         {
2227         }
2228
2229         /// <summary>
2230         /// Length of response APDU.
2231         /// </summary>
2232         /// <since_tizen> 4 </since_tizen>
2233         public ushort ApduLength
2234         {
2235             get
2236             {
2237                 return ApduLen;
2238             }
2239         }
2240
2241         /// <summary>
2242         /// Response APDU.
2243         /// </summary>
2244         /// <since_tizen> 4 </since_tizen>
2245         public byte[] ApduResponse
2246         {
2247             get
2248             {
2249                 return ApduResp;
2250             }
2251         }
2252     }
2253
2254     /// <summary>
2255     /// A class which defines the response of sending ATR.
2256     /// </summary>
2257     /// <since_tizen> 4 </since_tizen>
2258     public class SimAtrResponse
2259     {
2260         internal ushort AtrRespLen;
2261         internal byte[] AtrResp;
2262         internal SimAtrResponse()
2263         {
2264         }
2265
2266         /// <summary>
2267         /// Length of response ATR.
2268         /// </summary>
2269         /// <since_tizen> 4 </since_tizen>
2270         public ushort AtrRespLength
2271         {
2272             get
2273             {
2274                 return AtrRespLen;
2275             }
2276         }
2277
2278         /// <summary>
2279         /// Response ATR.
2280         /// </summary>
2281         /// <since_tizen> 4 </since_tizen>
2282         public byte[] AtrResponse
2283         {
2284             get
2285             {
2286                 return AtrResp;
2287             }
2288         }
2289     }
2290
2291     /// <summary>
2292     /// A class which defines ISIM IMPU list data.
2293     /// </summary>
2294     /// <since_tizen> 4 </since_tizen>
2295     public class SimImpuList
2296     {
2297         internal uint DataCount;
2298         internal IEnumerable<string> ImpuList;
2299         internal SimImpuList()
2300         {
2301         }
2302
2303         /// <summary>
2304         /// ISIM IMPU data count.
2305         /// </summary>
2306         /// <since_tizen> 4 </since_tizen>
2307         public uint Count
2308         {
2309             get
2310             {
2311                 return DataCount;
2312             }
2313         }
2314
2315         /// <summary>
2316         /// ISIM IMPU list.
2317         /// </summary>
2318         /// <since_tizen> 4 </since_tizen>
2319         public IEnumerable<string> List
2320         {
2321             get
2322             {
2323                 return ImpuList;
2324             }
2325         }
2326     }
2327
2328     /// <summary>
2329     /// A class which defines ISIM P-CSCF data.
2330     /// </summary>
2331     /// <since_tizen> 4 </since_tizen>
2332     public class SimPcscf
2333     {
2334         internal SimPcscfType PcscfType;
2335         internal string PcscfData;
2336         internal SimPcscf()
2337         {
2338         }
2339
2340         /// <summary>
2341         /// ISIM P-CSCF type.
2342         /// </summary>
2343         /// <since_tizen> 4 </since_tizen>
2344         public SimPcscfType Type
2345         {
2346             get
2347             {
2348                 return PcscfType;
2349             }
2350         }
2351
2352         /// <summary>
2353         /// ISIM P-CSCF data.
2354         /// </summary>
2355         /// <since_tizen> 4 </since_tizen>
2356         public string Pcscf
2357         {
2358             get
2359             {
2360                 return PcscfData;
2361             }
2362         }
2363     }
2364
2365     /// <summary>
2366     /// A class which defines ISIM P-CSCF list data.
2367     /// </summary>
2368     /// <since_tizen> 4 </since_tizen>
2369     public class SimPcscfList
2370     {
2371         internal uint DataCount;
2372         internal IEnumerable<SimPcscf> PcscfList;
2373         internal SimPcscfList()
2374         {
2375         }
2376
2377         /// <summary>
2378         /// ISIM P-CSCF data count.
2379         /// </summary>
2380         /// <since_tizen> 4 </since_tizen>
2381         public uint Count
2382         {
2383             get
2384             {
2385                 return DataCount;
2386             }
2387         }
2388
2389         /// <summary>
2390         /// ISIM P-CSCF list.
2391         /// </summary>
2392         /// <since_tizen> 4 </since_tizen>
2393         public IEnumerable<SimPcscf> List
2394         {
2395             get
2396             {
2397                 return PcscfList;
2398             }
2399         }
2400     }
2401 }