a7965dd36c4bab5ace3205b3ab9820968efb936a
[platform/core/csapi/tizenfx.git] / internals / src / Tizen.CallManager / Tizen.CallManager / CmEnumerations.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 namespace Tizen.CallManager
18 {
19     /// <summary>
20     /// Enumeration for Call status.
21     /// </summary>
22     public enum CallStatus
23     {
24         /// <summary>
25         /// Call is in idle state.
26         /// </summary>
27         Idle,
28         /// <summary>
29         /// A new call arrived and is ringing or waiting.
30         /// </summary>
31         Ringing,
32         /// <summary>
33         /// At least one call exist that is in dialing, alerting, active, on hold state.
34         /// </summary>
35         OffHook,
36         /// <summary>
37         /// Max state.
38         /// </summary>
39         Max
40     }
41
42     /// <summary>
43     /// Enumeration for Mute status.
44     /// </summary>
45     public enum CallMuteStatus
46     {
47         /// <summary>
48         /// Mute state is off.
49         /// </summary>
50         Off,
51         /// <summary>
52         /// Mute state is on.
53         /// </summary>
54         On,
55         /// <summary>
56         /// Max status.
57         /// </summary>
58         Max
59     }
60
61     /// <summary>
62     /// Enumeration for call dial status.
63     /// </summary>
64     public enum DialStatus
65     {
66         /// <summary>
67         /// Dial status is success.
68         /// </summary>
69         Success = 0,
70         /// <summary>
71         /// Dial status is cancel.
72         /// </summary>
73         Cancel,
74         /// <summary>
75         /// Dial status is fail.
76         /// </summary>
77         Fail,
78         /// <summary>
79         /// Dial status is fail SS.
80         /// </summary>
81         FailSS,
82         /// <summary>
83         /// Dial status is fail FDN.
84         /// </summary>
85         FailFdn,
86         /// <summary>
87         /// Dial status is fail flight mode.
88         /// </summary>
89         FailFlightMode
90     }
91
92     /// <summary>
93     /// Enumeration for DTMF indication type.
94     /// </summary>
95     public enum DtmfIndication
96     {
97         /// <summary>
98         /// DTMF indication type is idle.
99         /// </summary>
100         Idle = 0,
101         /// <summary>
102         /// DTMF indication type is progressing.
103         /// </summary>
104         Progressing,
105         /// <summary>
106         /// DTMF indication type is wait.
107         /// </summary>
108         Wait
109     }
110
111     /// <summary>
112     /// Enumeration for audio state type.
113     /// </summary>
114     public enum AudioState
115     {
116         /// <summary>
117         /// None.
118         /// </summary>
119         None,
120         /// <summary>
121         /// System LoudSpeaker path.
122         /// </summary>
123         Speaker,
124         /// <summary>
125         /// System Receiver.
126         /// </summary>
127         Receiver,
128         /// <summary>
129         /// Earjack path.
130         /// </summary>
131         EarJack,
132         /// <summary>
133         /// System BT Headset path.
134         /// </summary>
135         BTHeadset
136     }
137
138     /// <summary>
139     /// Enumeration for video record status.
140     /// </summary>
141     public enum VrStatus
142     {
143         /// <summary>
144         /// Video recording is started.
145         /// </summary>
146         Started = 0,
147         /// <summary>
148         /// Video recording is stopped.
149         /// </summary>
150         Stopped
151     }
152
153     /// <summary>
154     /// Enumeration for Video record status extra type.
155     /// </summary>
156     public enum VrStatusExtraType
157     {
158         /// <summary>
159         /// Start.
160         /// </summary>
161         Start = 0x00,
162         /// <summary>
163         /// Normal recording.
164         /// </summary>
165         StartNormal,
166         /// <summary>
167         /// Answering message.
168         /// </summary>
169         StartAnswerMessage,
170         /// <summary>
171         /// Start max.
172         /// </summary>
173         StartMax = 0x0f,
174         /// <summary>
175         /// Stop.
176         /// </summary>
177         Stop = 0x10,
178         /// <summary>
179         /// Stop by normal.
180         /// </summary>
181         StopByNormal,
182         /// <summary>
183         /// Stop by max size.
184         /// </summary>
185         StopByMaxSize,
186         /// <summary>
187         /// Stop by no free space.
188         /// </summary>
189         StopByNoFreeSpace,
190         /// <summary>
191         /// Stop by time limit.
192         /// </summary>
193         StopByTimeLimit,
194         /// <summary>
195         /// Error.
196         /// </summary>
197         StopError,
198         /// <summary>
199         /// Stop by max.
200         /// </summary>
201         StopMax = 0x1f
202     }
203
204     /// <summary>
205     /// Enumeration for call type.
206     /// </summary>
207     public enum CallType
208     {
209         /// <summary>
210         /// Voice call type.
211         /// </summary>
212         Voice,
213         /// <summary>
214         /// Video call type.
215         /// </summary>
216         Video,
217         /// <summary>
218         /// Invalid call type.
219         /// </summary>
220         Invalid
221     }
222
223     /// <summary>
224     /// Enumeration for sim slot type.
225     /// </summary>
226     public enum MultiSimSlot
227     {
228         /// <summary>
229         /// Sim slot 1.
230         /// </summary>
231         Slot1,
232         /// <summary>
233         /// Sim slot 2.
234         /// </summary>
235         Slot2,
236         /// <summary>
237         /// Follow system configuration.
238         /// </summary>
239         Default
240     }
241
242     /// <summary>
243     /// Enumeration for call answer types for accepting the incoming call.
244     /// </summary>
245     public enum CallAnswerType
246     {
247         /// <summary>
248         /// Only single call exist, Accept the Incoming call.
249         /// </summary>
250         Normal = 0,
251         /// <summary>
252         /// Put the active call on hold and accepts the call.
253         /// </summary>
254         HoldActiveAndAccept,
255         /// <summary>
256         /// Releases the active call and accept the call.
257         /// </summary>
258         ReleaseActiveAndAccept,
259         /// <summary>
260         /// Releases the held call and accept the call.
261         /// </summary>
262         ReleaseHoldAndAccept,
263         /// <summary>
264         /// Releases all calls and accept the call.
265         /// </summary>
266         ReleaseAllAndAccept
267     }
268
269     /// <summary>
270     /// Enumeration for call upgrade response type while receiving upgrade request.
271     /// </summary>
272     public enum CallUpgradeResponseType
273     {
274         /// <summary>
275         /// Accept incoming upgrade request.
276         /// </summary>
277         Accept,
278         /// <summary>
279         /// Reject Incoming upgrade request.
280         /// </summary>
281         Reject
282     }
283
284     /// <summary>
285     /// Enumeration for feature(speaker/bluetooth) status.
286     /// </summary>
287     public enum FeatureStatus
288     {
289         /// <summary>
290         /// On.
291         /// </summary>
292         On,
293         /// <summary>
294         /// Off.
295         /// </summary>
296         Off
297     }
298
299     /// <summary>
300     /// Enumeration for DTMF response type.
301     /// </summary>
302     public enum DtmfResponseType
303     {
304         /// <summary>
305         /// Cancel.
306         /// </summary>
307         Cancel = 0,
308         /// <summary>
309         /// Continue.
310         /// </summary>
311         Continue
312     }
313
314     /// <summary>
315     /// Enumeration for LCD time out.
316     /// </summary>
317     public enum LcdTimeOut
318     {
319         /// <summary>
320         /// Set.
321         /// </summary>
322         Set = 1,
323         /// <summary>
324         /// Unset.
325         /// </summary>
326         Unset,
327         /// <summary>
328         /// After lock-screen comes in Connected state LCD goes to OFF in 5 secs.
329         /// </summary>
330         LockscreenSet,
331         /// <summary>
332         /// When Keypad is ON, LCD goes to DIM in 3 secs then goes to OFF in 5 secs.
333         /// </summary>
334         KeypadSet,
335         /// <summary>
336         /// Default.
337         /// </summary>
338         Default
339     }
340
341     /// <summary>
342     /// Enumeration for contact name mode.
343     /// </summary>
344     public enum CallNameMode
345     {
346         /// <summary>
347         /// None.
348         /// </summary>
349         None,
350         /// <summary>
351         /// Unknown.
352         /// </summary>
353         Unknown,
354         /// <summary>
355         /// Private.
356         /// </summary>
357         Private,
358         /// <summary>
359         /// Payphone.
360         /// </summary>
361         PayPhone
362     }
363
364     /// <summary>
365     /// Enumeration for LCD control state.
366     /// </summary>
367     public enum LcdControlState
368     {
369         /// <summary>
370         /// Off.
371         /// </summary>
372         Off = 1,
373         /// <summary>
374         /// On.
375         /// </summary>
376         On,
377         /// <summary>
378         /// On lock.
379         /// </summary>
380         OnLock,
381         /// <summary>
382         /// On unlock.
383         /// </summary>
384         OnUnlock,
385         /// <summary>
386         /// Off sleep lock.
387         /// </summary>
388         OffSleepLock,
389         /// <summary>
390         /// Off sleep unlock.
391         /// </summary>
392         OffSleepUnlock
393     }
394
395     /// <summary>
396     /// Enumeration for call event type.
397     /// </summary>
398     public enum CallEvent
399     {
400         /// <summary>
401         /// Call Idle event.
402         /// </summary>
403         Idle = 0,
404         /// <summary>
405         /// Call Dialling event.
406         /// </summary>
407         Dialing,
408         /// <summary>
409         /// Call Active event.
410         /// </summary>
411         Active,
412         /// <summary>
413         /// Call Held event.
414         /// </summary>
415         Held,
416         /// <summary>
417         /// Call Alert event.
418         /// </summary>
419         Alert,
420         /// <summary>
421         /// Call Incoming event.
422         /// </summary>
423         Incoming,
424         /// <summary>
425         /// Call Waiting event.
426         /// </summary>
427         Waiting,
428         /// <summary>
429         /// Call Join event.
430         /// </summary>
431         Join,
432         /// <summary>
433         /// Call Split event.
434         /// </summary>
435         Split,
436         /// <summary>
437         /// Call Swapped event.
438         /// </summary>
439         Swapped,
440         /// <summary>
441         /// Call Retrieved event.
442         /// </summary>
443         Retrieved,
444         /// <summary>
445         /// Sat call control event.
446         /// </summary>
447         SatCallControl,
448         /// <summary>
449         /// Call upgrade request event.
450         /// </summary>
451         UpgradeRequest,
452         /// <summary>
453         /// Call downgraded event.
454         /// </summary>
455         Downgraded,
456         /// <summary>
457         /// Call upgrade success event.
458         /// </summary>
459         UpgradeSuccess,
460         /// <summary>
461         /// Call upgrade failure event.
462         /// </summary>
463         UpgradeFailure,
464         /// <summary>
465         /// Call downgrade success event.
466         /// </summary>
467         DowngradeSuccess,
468         /// <summary>
469         /// Call downgrade failure event.
470         /// </summary>
471         DowngradeFailure,
472         /// <summary>
473         /// Call confirm upgrade success event.
474         /// </summary>
475         ConfirmUpgradeSuccess,
476         /// <summary>
477         /// Call confirm upgrade failure event.
478         /// </summary>
479         ConfirmUpgradeFailure,
480         /// <summary>
481         /// VoWiFi ~ LTE hand-over update event.
482         /// </summary>
483         VoWiFiLteHandoverUpdate
484     }
485
486     /// <summary>
487     /// Enumeration for call direction
488     /// </summary>
489     public enum CallDirection
490     {
491         /// <summary>
492         /// MO call.
493         /// </summary>
494         MO,
495         /// <summary>
496         /// MT call.
497         /// </summary>
498         MT
499     }
500
501     /// <summary>
502     /// Enumeration for the call state.
503     /// </summary>
504     public enum CallState
505     {
506         /// <summary>
507         /// Call is in idle state.
508         /// </summary>
509         Idle,
510         /// <summary>
511         /// Call is in connected and conversation state.
512         /// </summary>
513         Active,
514         /// <summary>
515         /// Call is in held state.
516         /// </summary>
517         Held,
518         /// <summary>
519         /// Call is in dialing state.
520         /// </summary>
521         Dialing,
522         /// <summary>
523         /// Call is in alerting state.
524         /// </summary>
525         Alert,
526         /// <summary>
527         /// Call is in incoming state.
528         /// </summary>
529         Incoming,
530         /// <summary>
531         /// Call is in answered state, and waiting for connected indication event.
532         /// </summary>
533         Waiting
534     }
535
536     /// <summary>
537     /// Enumeration for call domain.
538     /// </summary>
539     public enum CallDomain
540     {
541         /// <summary>
542         /// CS call domain.
543         /// </summary>
544         Cs,
545         /// <summary>
546         /// PS call domain.
547         /// </summary>
548         Ps,
549         /// <summary>
550         /// Wearable call through BT handsfree profile.
551         /// </summary>
552         Hfp
553     }
554
555     /// <summary>
556     /// Enumeration for call end cause type.
557     /// </summary>
558     public enum CallEndCause
559     {
560         /// <summary>
561         /// Call ended.
562         /// </summary>
563         Ended,
564         /// <summary>
565         /// Call disconnected.
566         /// </summary>
567         Disconnected,
568         /// <summary>
569         /// Service not allowed.
570         /// </summary>
571         ServiceNotAllowed,
572         /// <summary>
573         /// Call barred.
574         /// </summary>
575         Barred,
576         /// <summary>
577         /// No service.
578         /// </summary>
579         NoService,
580         /// <summary>
581         /// Network busy.
582         /// </summary>
583         NwBusy,
584         /// <summary>
585         /// Network failed.
586         /// </summary>
587         NwFailed,
588         /// <summary>
589         /// No answer from other party.
590         /// </summary>
591         NoAnswer,
592         /// <summary>
593         /// No credit available.
594         /// </summary>
595         NoCredit,
596         /// <summary>
597         /// Call rejected.
598         /// </summary>
599         Rejected,
600         /// <summary>
601         /// User busy.
602         /// </summary>
603         UserBusy,
604         /// <summary>
605         /// Wrong group.
606         /// </summary>
607         WrongGroup,
608         /// <summary>
609         /// Call not allowed.
610         /// </summary>
611         NotAllowed,
612         /// <summary>
613         /// Tapi error.
614         /// </summary>
615         TapiError,
616         /// <summary>
617         /// Call failed.
618         /// </summary>
619         Failed,
620         /// <summary>
621         /// User not responding.
622         /// </summary>
623         NoUserResponding,
624         /// <summary>
625         /// User alerting no answer.
626         /// </summary>
627         UserAlertingNoAnswer,
628         /// <summary>
629         /// Circuit Channel Unavailable,Network is out of Order,Switching equipment congestion,Temporary Failure.
630         /// </summary>
631         ServiceTempUnavailable,
632         /// <summary>
633         /// Called Party Rejects the Call.
634         /// </summary>
635         UserUnavailable,
636         /// <summary>
637         /// Entered number is invalid or incomplete.
638         /// </summary>
639         InvalidNumberFormat,
640         /// <summary>
641         /// Entered number has been changed.
642         /// </summary>
643         NumberChanged,
644         /// <summary>
645         /// Unassigned/Unallocated number.
646         /// </summary>
647         UnassignedNumber,
648         /// <summary>
649         /// Called Party does not respond.
650         /// </summary>
651         UserDoesNotRespond,
652         /// <summary>
653         /// IMEI rejected.
654         /// </summary>
655         ImeiRejected,
656         /// <summary>
657         /// FDN number only.
658         /// </summary>
659         FixedDialingNumberOnly,
660         /// <summary>
661         /// SAT call control reject.
662         /// </summary>
663         SatCallControlReject,
664         /// <summary>
665         /// This number cannot receive video calls.
666         /// </summary>
667         CannotReceiveVideoCall
668     }
669
670     /// <summary>
671     /// Enumeration for call release type.
672     /// </summary>
673     public enum CallReleaseType
674     {
675         /// <summary>
676         /// Release call using given call handle.
677         /// </summary>
678         ByCallHandle = 0,
679         /// <summary>
680         /// Release all Calls.
681         /// </summary>
682         AllCalls,
683         /// <summary>
684         /// Releases all hold calls.
685         /// </summary>
686         AllHoldCalls,
687         /// <summary>
688         /// Releases all active calls.
689         /// </summary>
690         AllActiveCalls
691     }
692 }