📄 callengine.h
字号:
#ifndef __CALLENGINE_H__
#define __CALLENGINE_H__
#include "InCallWatcher.h"
#include "OutCallWatcher.h"
class CInCallView;
class COutCallView;
_LIT(KCallEngine, "CCallEngine");
class MCallEngineObserver
{
public:
virtual void HandleCallChangeL(const RCall::TStatus& aStatus) = 0;
virtual void ShowPhoneNumber(HBufC* aPhoneNumber) = 0;
};
class CCallEngine : public CBase,
public MInCallWatcherObserver, public MOutCallWatcherObserver
{
public:
static CCallEngine* NewL();
~CCallEngine();
// Method from MInCallWatcherObserver
virtual void HandleInCallChangeL(const RCall::TStatus& aStatus);
virtual void ShowPhoneNumber(HBufC * aPhoneNumber);
// Method from MOutCallWatcherObserver
virtual void HandleOutCallHungUpL();
//
void StartEngineL();
void StopEngine();
// For the out call
void MakeCallL(const TDesC& aNumber);
inline void SetCallEngineObserver(CInCallView* iObserver);
inline void SetOutCallView(COutCallView* aOutCallView);
private:
// Construction
CCallEngine();
void ConstructL();
//
void TelStartL();
void TelephonyCleanup();
// Panic code
enum TPanicCode { EWrongState, ERecordInitError, EPlayInitError, EPlayError };
inline void Panic(TPanicCode aReason) const;
// Attributes
// MCallEngineObserver* iObserver;
CInCallView* iObserver;
COutCallView* iOutCallView;
RTelServer iTelServer;
RPhone iPhone;
RLine iLine;
CInCallWatcher* iInCallWatcher;
COutCallWatcher* iOutCallWatcher;
};
void CCallEngine::Panic(TPanicCode aReason) const { User::Panic(KCallEngine, aReason); };
void CCallEngine::SetCallEngineObserver(CInCallView* aObserver) { iObserver = aObserver; }
void CCallEngine::SetOutCallView(COutCallView * aOutCallView) { iOutCallView = aOutCallView; }
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -