chenqiyang
2022-09-02 6a99d9bf65aa5878cb409945ed2bdbdcb916d047
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/*
 * Copyright (c) 2010-2019 Belledonne Communications SARL.
 *
 * This file is part of Liblinphone.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
 
#ifndef _L_CALL_ENUMS_H_
#define _L_CALL_ENUMS_H_
 
// =============================================================================
/**
 * #LinphoneCallState enum represents the different states a call can reach into.
 * The application is notified of a state change through the LinphoneCoreVTable::call_state_changed callback.
 * @ingroup call_control
 */
typedef enum _LinphoneCallState{
    LinphoneCallStateIdle, /**< Initial state */
    LinphoneCallStateIncomingReceived, /**< Incoming call received */
    LinphoneCallStatePushIncomingReceived, /**< PushIncoming call received */
    LinphoneCallStateOutgoingInit, /**< Outgoing call initialized */
    LinphoneCallStateOutgoingProgress, /**< Outgoing call in progress */
    LinphoneCallStateOutgoingRinging, /**< Outgoing call ringing */
    LinphoneCallStateOutgoingEarlyMedia, /**< Outgoing call early media */
    LinphoneCallStateConnected, /**< Connected */
    LinphoneCallStateStreamsRunning, /**< Streams running */
    LinphoneCallStatePausing, /**< Pausing */
    LinphoneCallStatePaused, /**< Paused */
    LinphoneCallStateResuming, /**< Resuming */
    LinphoneCallStateReferred, /**< Referred */
    LinphoneCallStateError, /**< Error */
    LinphoneCallStateEnd, /**< Call end */
    LinphoneCallStatePausedByRemote, /**< Paused by remote */
    LinphoneCallStateUpdatedByRemote, /**< The call&apos;s parameters are updated for example when video is asked by remote */
    LinphoneCallStateIncomingEarlyMedia, /**< We are proposing early media to an incoming call */
    LinphoneCallStateUpdating, /**< We have initiated a call update */
    LinphoneCallStateReleased, /**< The call object is now released */
    LinphoneCallStateEarlyUpdatedByRemote, /**< The call is updated by remote while not yet answered (SIP UPDATE in early dialog received) */
    LinphoneCallStateEarlyUpdating, /**< We are updating the call while not yet answered (SIP UPDATE in early dialog sent) */
} LinphoneCallState;
 
/**
 * #LinphoneAudioDeviceType enum represents the different types of an audio device.
 * @ingroup audio
 */
typedef enum _LinphoneAudioDeviceType {
    LinphoneAudioDeviceTypeUnknown, /** Unknown */
    LinphoneAudioDeviceTypeMicrophone, /** Microphone */
    LinphoneAudioDeviceTypeEarpiece, /** Earpiece */
    LinphoneAudioDeviceTypeSpeaker, /** Speaker */
    LinphoneAudioDeviceTypeBluetooth, /** Bluetooth */
    LinphoneAudioDeviceTypeBluetoothA2DP, /** Bluetooth A2DP */
    LinphoneAudioDeviceTypeTelephony, /** Telephony */
    LinphoneAudioDeviceTypeAuxLine, /** AuxLine */
    LinphoneAudioDeviceTypeGenericUsb, /** GenericUsb */
    LinphoneAudioDeviceTypeHeadset, /** Headset */
    LinphoneAudioDeviceTypeHeadphones, /** Headphones */
} LinphoneAudioDeviceType;
 
/**
 * #LinphoneAudioDeviceCapabilities enum represents whether a device can record audio, play audio or both
 * @ingroup audio
 */
typedef enum _LinphoneAudioDeviceCapabilities {
    LinphoneAudioDeviceCapabilityRecord = 1 << 0, /** Can record audio */
    LinphoneAudioDeviceCapabilityPlay = 1 << 1, /** Can play audio */
} LinphoneAudioDeviceCapabilities;
 
// =============================================================================
// DEPRECATED
// =============================================================================
 
#define LinphoneCallIdle LinphoneCallStateIdle
#define LinphoneCallIncomingReceived LinphoneCallStateIncomingReceived
#define LinphoneCallPushIncomingReceived LinphoneCallStatePushIncomingReceived
#define LinphoneCallOutgoingInit LinphoneCallStateOutgoingInit
#define LinphoneCallOutgoingProgress LinphoneCallStateOutgoingProgress
#define LinphoneCallOutgoingRinging LinphoneCallStateOutgoingRinging
#define LinphoneCallOutgoingEarlyMedia LinphoneCallStateOutgoingEarlyMedia
#define LinphoneCallConnected LinphoneCallStateConnected
#define LinphoneCallStreamsRunning LinphoneCallStateStreamsRunning
#define LinphoneCallPausing LinphoneCallStatePausing
#define LinphoneCallPaused LinphoneCallStatePaused
#define LinphoneCallResuming LinphoneCallStateResuming
#define LinphoneCallRefered LinphoneCallStateReferred
#define LinphoneCallError LinphoneCallStateError
#define LinphoneCallEnd LinphoneCallStateEnd
#define LinphoneCallPausedByRemote LinphoneCallStatePausedByRemote
#define LinphoneCallUpdatedByRemote LinphoneCallStateUpdatedByRemote
#define LinphoneCallIncomingEarlyMedia LinphoneCallStateIncomingEarlyMedia
#define LinphoneCallUpdating LinphoneCallStateUpdating
#define LinphoneCallEarlyUpdating LinphoneCallStateEarlyUpdating
#define LinphoneCallReleased LinphoneCallStateReleased
#define LinphoneCallEarlyUpdatedByRemote LinphoneCallStateEarlyUpdatedByRemote
 
#endif // ifndef _L_CALL_ENUMS_H_