--- 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 <RemConExtensionApi.h>
-#include <RemConCallHandlingTargetObserver.h>
+#include "phonehandlerservice.h"
+#include <RemConExtensionApi.h>
+#include <RemConCallHandlingTargetObserver.h>
#include <e32base.h>
-#include <PhCltTypes.h>
+#include <phclttypes.h>
#include <e32property.h>
-#include <ccpdefs.h>
// 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