CallManager.h
2.24 KB
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
#ifndef _CALL_MANAGER_H__
#define _CALL_MANAGER_H__
#include <QtCore>
class Notification;
class RSessVoice;
class RSessVideo;
class RSession;
class RCallManager : public QObject
{
Q_OBJECT
public:
RCallManager(QObject *parent = 0);
static RCallManager *Instance();
bool init();
int getSessId();
void setMicphone(const QString &id);
QString getMicphone();
void setSpeaker(const QString &id);
QString getSpeaker();
void setCamera(const QString &id);
QString getCamera();
bool startSess(const QString &qsPhone, bool bVideo);
void rmvSession(RSession * pSession);
void endAllSess();
bool hasAudio();
bool hasVideo();
void showRefreshOk();
void showCallInComing(unsigned int dwSessId);
void showCallOutgoing(unsigned int dwSessId);
void showCallAlerted(unsigned int dwSessId);
void showCallConnecting(unsigned int dwSessId);
void showCallTalking(unsigned int dwSessId);
void showCallTermed(unsigned int dwSessId);
void showCallVideoSize(unsigned int dwSessId, unsigned int dwWidth,
unsigned int dwHeight, unsigned int dwOrientation);
void showCallCaptureSize(unsigned int dwSessId, unsigned int dwWidth,
unsigned int dwHeight);
static void MtcCallInComing(unsigned int dwSessId);
static void MtcCallOutgoing(unsigned int dwSessId);
static void MtcCallAlerted(unsigned int dwSessId, unsigned int dwAlertType);
static void MtcCallConnecting(unsigned int dwSessId);
static void MtcCallTalking(unsigned int dwSessId);
static void MtcCallTermed(unsigned int dwSessId, unsigned int dwStatCode, const char *pcReason);
signals:
void CallIncoming(const QString name,const QString img);//来电信号
void CallOutgoing(QString);//挂掉信号
private Q_SLOTS:
void onServiceEvent(const QString &name, size_t cookie, const Notification &info);
private:
void initCallback();
bool startAudioDevice();
void stopAudioDevice();
public:
RSession *m_pRSession;
private:
RSessVoice *m_pSessVoice;
RSessVideo *m_pSessVideo;
static RCallManager *m_psRCallManager;
QString m_qsMicphone;
QString m_qsSpeaker;
QString m_qsCamera;
bool m_bAudioStarted;
};
#endif /* _CALL_MANAGER_H__ */