diff -r 594d59766373 -r 7d48bed6ce0c phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerControl.h --- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerControl.h Thu Aug 19 10:28:14 2010 +0300 +++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerControl.h Tue Aug 31 15:45:17 2010 +0300 @@ -20,13 +20,12 @@ #define CPHONEHANDLERCONTROL_H // INCLUDES -#include "PhoneHandlerService.h" -#include -#include +#include "phonehandlerservice.h" +#include +#include #include -#include +#include #include -#include // CONSTANTS @@ -43,8 +42,6 @@ class CRemConCallHandlingTarget; class CPhoneHandlerResponse; class CPhoneHandlerCallState; -class CPhoneHandlerCallArray; -class MCall; /** * Receives call handling related key presses from accessories and executes @@ -54,15 +51,15 @@ * @since S60 3.1 */ NONSHARABLE_CLASS( CPhoneHandlerControl ) : public CBase, - public MRemConCallHandlingTargetObserver - { + public MRemConCallHandlingTargetObserver + { public: // Constructors and destructor /** * Two-phased constructor. */ static CPhoneHandlerControl* NewL( - CRemConInterfaceSelector* aIfSelector = NULL ); + CRemConInterfaceSelector* aIfSelector = NULL ); /** * Destructor. @@ -71,7 +68,7 @@ public: // New functions - /** + /** * Returns phone number for dial or speed dial. * @since S60 3.1 * @param void @@ -110,36 +107,36 @@ * @return TChar DTMF tone */ const TChar& Tone() const; - - /** + + /** * Returns reference to API used to communicate with accessory who * initiated key press. * @since S60 3.1 * @param void * @return CRemConCallHandlingTarget& reference to API - */ - CRemConCallHandlingTarget& CommandInitiator() const; - - /** + */ + CRemConCallHandlingTarget& CommandInitiator() const; + + /** * Informs the latest call state. - * @since S60 9.2 - * @param aCall Call from MCallInformationObserver - * @return void + * @since S60 3.1 + * @param aState Call state from KTelephonyCallState P&S key + * @return void */ - void NotifyCallStateL( const MCall* aCall ); + void NotifyCallState( const TInt aState ); - /** + /** * Get iSwitchCall flag, if this flag is ETrue, it means * "Send" key in remote target is pressed in multiparty call, * otherwise EFalse * @since S60 3.1 * @return TBool */ - TBool SwitchCall(); + TBool SwitchCall(); - + public: // Functions from base classes - + protected: // New functions protected: // Functions from base classes @@ -155,93 +152,79 @@ * By default Symbian 2nd phase constructor is private. */ void ConstructL( CRemConInterfaceSelector* aIfSelector = NULL ); - - /** - * From MRemConCallHandlingTargetObserver. Answer an incoming phone call. - */ - virtual void AnswerCall(); + + /** + * From MRemConCallHandlingTargetObserver. Answer an incoming phone call. + */ + virtual void AnswerCall(); - /** - * From MRemConCallHandlingTargetObserver. End an incoming/ongoing - * phone call. - */ - virtual void EndCall(); - - /** - * From MRemConCallHandlingTargetObserver. Answer an incoming phone call, - * or end an ongoing call according to call status. - */ - virtual void AnswerEndCall(); - - /** - * From MRemConCallHandlingTargetObserver. Make a voice call. - */ - virtual void VoiceDial( const TBool aActivate ); - - /** - * From MRemConCallHandlingTargetObserver. Redial last phone call. - */ - virtual void LastNumberRedial(); - - /** - * From MRemConCallHandlingTargetObserver. Dial a phone call. - */ - virtual void DialCall( const TDesC8& aTelNumber ); - - /** - * From MRemConCallHandlingTargetObserver. Make multiparty call. - */ - virtual void MultipartyCalling( const TDesC8& aData ); - - /** - * Generates DTMF signal. - */ - virtual void GenerateDTMF( const TChar aChar ); - - /** - * From MRemConCallHandlingTargetObserver. Make a speed dial call. - */ - virtual void SpeedDial( const TInt aIndex ); - - /** - * Starts processing service corresponding to key press. - */ - void StartProcessing( - const TRemConExtCallHandlingApiOperationId aOperation ); - - /** - * Creates service. - */ - MPhoneHandlerService* CreateServiceL( - const TRemConExtCallHandlingApiOperationId aOperation ); - - /** - * Initializes speed dial. - */ - void InitializeSpeedDialL(); - - /** - * Returns call status. - */ - void CallStatusL( RPhone::TLineInfo& aLineInfo ); - - /** - * Returns autolock status + /** + * From MRemConCallHandlingTargetObserver. End an incoming/ongoing + * phone call. + */ + virtual void EndCall(); + + /** + * From MRemConCallHandlingTargetObserver. Answer an incoming phone call, + * or end an ongoing call according to call status. + */ + virtual void AnswerEndCall(); + + /** + * From MRemConCallHandlingTargetObserver. Make a voice call. + */ + virtual void VoiceDial( const TBool aActivate ); + + /** + * From MRemConCallHandlingTargetObserver. Redial last phone call. + */ + virtual void LastNumberRedial(); + + /** + * From MRemConCallHandlingTargetObserver. Dial a phone call. + */ + virtual void DialCall( const TDesC8& aTelNumber ); + + /** + * From MRemConCallHandlingTargetObserver. Make multiparty call. */ - TBool IsAutoLockOn() const; - - /** - * Returns BT accessory command status + virtual void MultipartyCalling( const TDesC8& aData ); + + /** + * Generates DTMF signal. + */ + virtual void GenerateDTMF( const TChar aChar ); + + /** + * From MRemConCallHandlingTargetObserver. Make a speed dial call. + */ + virtual void SpeedDial( const TInt aIndex ); + + /** + * Starts processing service corresponding to key press. */ - TBool IsBTAccessoryCmd() const; - + void StartProcessing( + const TRemConExtCallHandlingApiOperationId aOperation ); + + /** + * Creates service. + */ + MPhoneHandlerService* CreateServiceL( + const TRemConExtCallHandlingApiOperationId aOperation ); + + /** + * Returns call status. + */ + void CallStatusL( RPhone::TLineInfo& aLineInfo ); + + private: // Data // Provides e.g. service to listen accessory key presses. - CRemConInterfaceSelector* iInterfaceSelector; // owned + CRemConInterfaceSelector* iInterfaceSelector; // owned // API notifying PhoneCmdHandler about call handling key presses. - CRemConCallHandlingTarget* iTarget; // owned + CRemConCallHandlingTarget* iTarget; // owned // Phone number for dial call/speed dial. TPhCltTelephoneNumber iTelNumber; @@ -270,13 +253,16 @@ // Previous call state TInt iPrevState; + // Number of active calls + // Used to determine whether there's a multicall case when call state + TInt iActiveCalls; + // switch phonecall by press "Send" key TBool iSwitchCall; // Listens to phone call state changes. CPhoneHandlerCallState* iCallStateObserver; - CPhoneHandlerCallArray* iCallArray; public: // Friend classes