--- a/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerControl.h Tue Aug 31 15:45:17 2010 +0300
+++ b/phonecmdhandler/phonecmdhnlr/inc/PhoneHandlerControl.h Wed Sep 01 12:15:03 2010 +0100
@@ -20,12 +20,13 @@
#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
@@ -42,6 +43,8 @@
class CRemConCallHandlingTarget;
class CPhoneHandlerResponse;
class CPhoneHandlerCallState;
+class CPhoneHandlerCallArray;
+class MCall;
/**
* Receives call handling related key presses from accessories and executes
@@ -51,15 +54,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.
@@ -68,7 +71,7 @@
public: // New functions
- /**
+ /**
* Returns phone number for dial or speed dial.
* @since S60 3.1
* @param void
@@ -107,36 +110,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 3.1
- * @param aState Call state from KTelephonyCallState P&S key
- * @return void
+ * @since S60 9.2
+ * @param aCall Call from MCallInformationObserver
+ * @return void
*/
- void NotifyCallState( const TInt aState );
+ void NotifyCallStateL( const MCall* aCall );
- /**
+ /**
* 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
@@ -152,79 +155,93 @@
* 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.
+ /**
+ * 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
*/
- 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.
+ TBool IsAutoLockOn() const;
+
+ /**
+ * Returns BT accessory command status
*/
- 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 );
-
- /**
- * Returns call status.
- */
- void CallStatusL( RPhone::TLineInfo& aLineInfo );
-
-
+ TBool IsBTAccessoryCmd() const;
+
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;
@@ -253,16 +270,13 @@
// 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