--- a/telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmfaxcalltsy.h Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmfaxcalltsy.h Thu May 06 15:10:38 2010 +0100
@@ -1,431 +1,431 @@
-/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-
-#ifndef CMMFAXCALLTSY_H
-#define CMMFAXCALLTSY_H
-
-// INCLUDES
-#include <et_phone.h>
-#include "cmmcalltsy.h"
-
-// FORWARD DECLARATIONS
-class CMmFaxLineTsy;
-
-// CLASS DECLARATION
-
-/**
- * CMmFaxCallTsy contains extended fax call functionality that is mode-dependent
- */
-NONSHARABLE_CLASS( CMmFaxCallTsy ) : public CMmCallTsy
- {
- friend class CMmFaxExt;
- friend class CMmFaxExtStub;
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aMmPhone Pointer to the Phone object
- * @param aMmLine Pointer to the Line from which this call object has
- * been created.
- * @param aMode Call mode
- * @param aName Name of this call
- * @param aMessageManager Pointer to the Message Manager object
- * @return Created call object
- */
- static CMmFaxCallTsy* NewL( CMmPhoneTsy* aMmPhone,
- CMmFaxLineTsy* aMmLine, RMobilePhone::TMobileService aMode,
- TDes& aName, CMmMessageManagerBase* aMessageManager);
-
- /**
- * Destructor.
- */
- ~CMmFaxCallTsy();
-
- // New functions
-
- /**
- * Complete status change notification
- *
- *
- * @param aResult Result of the request
- * @param aDataPackage: new call status value
- */
- void CompleteNotifyStatusChange( TInt aResult,
- CMmDataPackage* aDataPackage );
-
- // Functions from base classes
-
- /**
- * Opens a fax object using given name
- *
- *
- * @param aName Object name that should be opened
- * @return Opened object
- */
- CTelObject* OpenNewObjectByNameL( const TDesC& aName );
-
- /**
- * Returns request mode for given IPC number
- *
- *
- * @param aIpc IPC number of the request
- * @return Request mode
- */
- CTelObject::TReqMode ReqModeL( const TInt aIpc );
-
- /**
- * Returns number of slots to be used for a given IPC
- *
- *
- * @param aIpc IPC number of the request
- * @return Number of slots for this request
- */
- TInt NumberOfSlotsL( const TInt aIpc );
-
- /**
- * Cancels request that's IPC number and request handle are given as
- * parameters
- *
- *
- * @param aIpc: IPC number of the request
- * @param aTsyReqHandle Request handle from ETel server
- * @return KErrNone/KErrNotSupported
- */
- TInt CancelService( const TInt aIpc,
- const TTsyReqHandle aTsyReqHandle );
-
- /**
- * Register given notification
- *
- *
- * @param aIpc IPC number of the request
- * @return Result of the request
- */
- TInt RegisterNotification( const TInt aIpc );
-
- /**
- * Deregister given notification
- *
- *
- * @param aIpc IPC number of the request
- * @return Result of the request
- */
- TInt DeregisterNotification( const TInt aIpc );
-
- /**
- * Transfers call ownership.
- *
- *
- * @param aTsyReqHandle TSY request handle
- * @return KErrNone
- */
- TInt TransferOwnership( const TTsyReqHandle aTsyReqHandle );
-
- /**
- * Acquires ownership.
- *
- *
- * @param aTsyReqHandle TSY request handle
- * @return KErrNone
- */
- TInt AcquireOwnership( const TTsyReqHandle aTsyReqHandle );
-
- /**
- * Cancels method for AcquireOwnership.
- *
- *
- * @param aTsyReqHandle TSY request handle
- * @return KErrNone
- */
- TInt AcquireOwnershipCancel(
- const TTsyReqHandle aTsyReqHandle );
-
- /**
- * Relinquishes ownership.
- *
- *
- * @return KErrNone
- */
- TInt RelinquishOwnership();
-
- /**
- * Get call ownership status.
- *
- *
- * @param aTsyReqHandle TSY request handle
- * @param aOwnershipStatus Ownership status
- * @return KErrNone
- */
- TInt GetOwnershipStatus(
- const TTsyReqHandle aTsyReqHandle,
- RCall::TOwnershipStatus* aOwnershipStatus );
-
- /**
- * Dials a call.
- *
- *
- * @param aTsyReqHandle Tsy request handle
- * @param aCallParams Call parameters
- * @param aTelNumber Phone number to be called
- * @return KErrNone or KErrNotSupported
- */
- TInt Dial( const TTsyReqHandle aTsyReqHandle,
- const TDesC8* aCallParams, TDesC* aTelNumber );
-
- /**
- * Cancels dialling.
- *
- *
- * @param aTsyReqHandle Tsy request handle
- * @return KErrNone, KErrNotSupported, KErrInUse or KErrGeneral
- */
- TInt DialCancel( const TTsyReqHandle aTsyReqHandle );
-
- /**
- * Answers to an incoming call
- *
- *
- * @param aTsyReqHandle Request handle from the ETel server
- * @param aCallParams Call parameters
- * @return KErrNone/KErrNotSupported
- */
- TInt AnswerIncomingCall( const TTsyReqHandle aTsyReqHandle,
- const TDesC8* aCallParams );
-
- /**
- * Cancels answering to an incoming call
- *
- *
- * @param aTsyReqHandle Request handle from the ETel server
- * @return KErrNone/KErrNotSupported
- */
- TInt AnswerIncomingCallCancel(
- const TTsyReqHandle aTsyReqHandle );
-
- /**
- * Hangs up the call
- *
- *
- * @param aTsyReqHandle Request handle from ETel server
- * @return KErrNone/KErrNotSupported
- */
- TInt HangUp( const TTsyReqHandle aTsyReqHandle );
-
- /**
- * Returns bearer service information to the client.
- *
- *
- * @param aTsyReqHandle TSY request handle
- * @param aBearerService Contains Bearer service info on return
- * @return KErrNone
- */
- TInt GetBearerServiceInfo( const TTsyReqHandle aTsyReqHandle,
- RCall::TBearerService* );
-
- /**
- * Set correct data call attributes, depending on parameter extension.
- *
- *
- * @param aTsyReqHandle Tsy request handle
- * @param aCallParams Call parameters
- * @return KErrNone/KErrArgument
- */
- TInt Connect( const TTsyReqHandle aTsyReqHandle,
- const TDesC8* aCallParams );
-
- /**
- * Cancels connecting of a (data) call
- *
- *
- * @param aTsyReqHandle Tsy request handle
- * @return KErrNone
- */
- TInt ConnectCancel( const TTsyReqHandle /*aTsyReqHandle*/ );
-
- /**
- * Loans the dataport to the client.
- *
- *
- * @param aTsyReqHandle TSY request handle
- * @param aCommPort Comm port
- * @return KErrNone
- */
- TInt LoanDataPort( const TTsyReqHandle aTsyReqHandle,
- RCall::TCommPort* aCommPort );
-
- /**
- * Cancels dataport loaning.
- *
- *
- * @param aTsyReqHandle Tsy request handle
- * @return KErrNone
- */
- TInt LoanDataPortCancel( const TTsyReqHandle /*aTsyReqHandle*/ );
-
- /**
- * Recovers the dataport from the client.
- *
- *
- * @param aTsyReqHandle
- * @return KErrNone
- */
- TInt RecoverDataPort( const TTsyReqHandle aTsyReqHandle );
-
- /**
- * Recovers the dataport from the client and relinquishes ownership.
- *
- *
- * @return KErrNone
- */
- TInt RecoverDataPortAndRelinquishOwnership();
-
- /**
- * Returns fax settings to the client
- *
- *
- * @param aTsyReqHandle TSY req handle
- * @param aSettings Fax settings
- * @return KErrNone
- */
- TInt GetFaxSettings( const TTsyReqHandle aTsyReqHandle,
- RCall::TFaxSessionSettings* aSettings );
-
- /**
- * Sets new fax settings
- *
- *
- * @param aTsyReqHandle TSY req handle
- * @param aSettings Fax settings
- * @return KErrNone
- */
- TInt SetFaxSettings( const TTsyReqHandle aTsyReqHandle,
- const RCall::TFaxSessionSettings* aSettings );
-
- protected: // New functions
-
- /**
- * Returns ETrue if the call object is "used" data call object
- *
- *
- * @return Value of iIsFinishedDataCall boolean
- */
- TBool IsFinishedData() const;
-
- private: // Constructors and destructor
-
- /**
- * C++ default constructor.
- */
- CMmFaxCallTsy();
-
- private: // Functions from base classes
-
- /**
- * Initialises extension modules
- *
- *
- * @param RMobilePhone::TMobileService Call mode
- */
- void InitExtensionModulesL( RMobilePhone::TMobileService aMode );
-
- /**
- * Initialises miscellaneous internal attributes
- *
- *
- */
- void InitInternalAttributes();
-
- /**
- * DoExtFuncL is called by the server when it has a "extended",
- * i.e. non-core ETel request for the TSY. To process a request handle,
- * request type and request data are passed to the TSY.
- *
- *
- * @param aTsyReqHandle Request handle from ETel server
- * @param aIpc IPC number of the request
- * @param aPackage Reference to the input parameters.
- * @return KErrNone/KErrNotSupported
- */
- TInt DoExtFuncL( const TTsyReqHandle aTsyReqHandle, const TInt aIpc,
- const TDataPackage& aPackage );
-
- /**
- * Resets the status of the call
- *
- *
- */
- void ClearCallStatus();
-
-#ifdef REQHANDLE_TIMER
- /**
- * Chooses the type of response, automatic or common
- *
- *
- * @param aReqHandleType TSY request handle type.
- * @param aTsyReqHandle TSY request handle to be stored.
- */
- void SetTypeOfResponse( const TInt aReqHandleType,
- const TTsyReqHandle aTsyReqHandle );
-#endif
-
- private: // New functions
-
- /**
- * Get Data Call RLP Range.
- *
- *
- * @param aTsyReqHandle
- * @param aRLPVersion
- * @param aRLPRange
- * @return KErrNotSupported
- */
- TInt GetMobileDataCallRLPRange(
- const TTsyReqHandle aTsyReqHandle,
- TInt* /*aRLPVersion*/,
- TDes8* /*aRLPRange*/ );
-
- private: // Data
-
- /**Boolean that indicates if this call object is finished data call.
- * Required as Symbian CSD agent in situation where first data call
- * fails due wrong number and it then opens second data call, which
- * dials correct number. Call status notifications go to wrong call
- * object (the first one) and causes problems for clients.
- */
- TBool iIsFinishedDataCall;
-
- /**
- * Dataport loaned to client
- */
- RCall::TCommPort iLoanedCommPort;
-
- private: // Friend classes
-
- /**
- * Pointer to Internal fax call extension object.
- * Own.
- */
- class CMmFaxExtInterface* iMmFaxExt;
-
- };
-
-#endif // CMMFAXCALLTSY_H
-
-// End of File
+/*
+* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#ifndef CMMFAXCALLTSY_H
+#define CMMFAXCALLTSY_H
+
+// INCLUDES
+#include <et_phone.h>
+#include "cmmcalltsy.h"
+
+// FORWARD DECLARATIONS
+class CMmFaxLineTsy;
+
+// CLASS DECLARATION
+
+/**
+ * CMmFaxCallTsy contains extended fax call functionality that is mode-dependent
+ */
+NONSHARABLE_CLASS( CMmFaxCallTsy ) : public CMmCallTsy
+ {
+ friend class CMmFaxExt;
+ friend class CMmFaxExtStub;
+
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @param aMmPhone Pointer to the Phone object
+ * @param aMmLine Pointer to the Line from which this call object has
+ * been created.
+ * @param aMode Call mode
+ * @param aName Name of this call
+ * @param aMessageManager Pointer to the Message Manager object
+ * @return Created call object
+ */
+ static CMmFaxCallTsy* NewL( CMmPhoneTsy* aMmPhone,
+ CMmFaxLineTsy* aMmLine, RMobilePhone::TMobileService aMode,
+ TDes& aName, CMmMessageManagerBase* aMessageManager);
+
+ /**
+ * Destructor.
+ */
+ ~CMmFaxCallTsy();
+
+ // New functions
+
+ /**
+ * Complete status change notification
+ *
+ *
+ * @param aResult Result of the request
+ * @param aDataPackage: new call status value
+ */
+ void CompleteNotifyStatusChange( TInt aResult,
+ CMmDataPackage* aDataPackage );
+
+ // Functions from base classes
+
+ /**
+ * Opens a fax object using given name
+ *
+ *
+ * @param aName Object name that should be opened
+ * @return Opened object
+ */
+ CTelObject* OpenNewObjectByNameL( const TDesC& aName );
+
+ /**
+ * Returns request mode for given IPC number
+ *
+ *
+ * @param aIpc IPC number of the request
+ * @return Request mode
+ */
+ CTelObject::TReqMode ReqModeL( const TInt aIpc );
+
+ /**
+ * Returns number of slots to be used for a given IPC
+ *
+ *
+ * @param aIpc IPC number of the request
+ * @return Number of slots for this request
+ */
+ TInt NumberOfSlotsL( const TInt aIpc );
+
+ /**
+ * Cancels request that's IPC number and request handle are given as
+ * parameters
+ *
+ *
+ * @param aIpc: IPC number of the request
+ * @param aTsyReqHandle Request handle from ETel server
+ * @return KErrNone/KErrNotSupported
+ */
+ TInt CancelService( const TInt aIpc,
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Register given notification
+ *
+ *
+ * @param aIpc IPC number of the request
+ * @return Result of the request
+ */
+ TInt RegisterNotification( const TInt aIpc );
+
+ /**
+ * Deregister given notification
+ *
+ *
+ * @param aIpc IPC number of the request
+ * @return Result of the request
+ */
+ TInt DeregisterNotification( const TInt aIpc );
+
+ /**
+ * Transfers call ownership.
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @return KErrNone
+ */
+ TInt TransferOwnership( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Acquires ownership.
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @return KErrNone
+ */
+ TInt AcquireOwnership( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Cancels method for AcquireOwnership.
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @return KErrNone
+ */
+ TInt AcquireOwnershipCancel(
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Relinquishes ownership.
+ *
+ *
+ * @return KErrNone
+ */
+ TInt RelinquishOwnership();
+
+ /**
+ * Get call ownership status.
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aOwnershipStatus Ownership status
+ * @return KErrNone
+ */
+ TInt GetOwnershipStatus(
+ const TTsyReqHandle aTsyReqHandle,
+ RCall::TOwnershipStatus* aOwnershipStatus );
+
+ /**
+ * Dials a call.
+ *
+ *
+ * @param aTsyReqHandle Tsy request handle
+ * @param aCallParams Call parameters
+ * @param aTelNumber Phone number to be called
+ * @return KErrNone or KErrNotSupported
+ */
+ TInt Dial( const TTsyReqHandle aTsyReqHandle,
+ const TDesC8* aCallParams, TDesC* aTelNumber );
+
+ /**
+ * Cancels dialling.
+ *
+ *
+ * @param aTsyReqHandle Tsy request handle
+ * @return KErrNone, KErrNotSupported, KErrInUse or KErrGeneral
+ */
+ TInt DialCancel( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Answers to an incoming call
+ *
+ *
+ * @param aTsyReqHandle Request handle from the ETel server
+ * @param aCallParams Call parameters
+ * @return KErrNone/KErrNotSupported
+ */
+ TInt AnswerIncomingCall( const TTsyReqHandle aTsyReqHandle,
+ const TDesC8* aCallParams );
+
+ /**
+ * Cancels answering to an incoming call
+ *
+ *
+ * @param aTsyReqHandle Request handle from the ETel server
+ * @return KErrNone/KErrNotSupported
+ */
+ TInt AnswerIncomingCallCancel(
+ const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Hangs up the call
+ *
+ *
+ * @param aTsyReqHandle Request handle from ETel server
+ * @return KErrNone/KErrNotSupported
+ */
+ TInt HangUp( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Returns bearer service information to the client.
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aBearerService Contains Bearer service info on return
+ * @return KErrNone
+ */
+ TInt GetBearerServiceInfo( const TTsyReqHandle aTsyReqHandle,
+ RCall::TBearerService* );
+
+ /**
+ * Set correct data call attributes, depending on parameter extension.
+ *
+ *
+ * @param aTsyReqHandle Tsy request handle
+ * @param aCallParams Call parameters
+ * @return KErrNone/KErrArgument
+ */
+ TInt Connect( const TTsyReqHandle aTsyReqHandle,
+ const TDesC8* aCallParams );
+
+ /**
+ * Cancels connecting of a (data) call
+ *
+ *
+ * @param aTsyReqHandle Tsy request handle
+ * @return KErrNone
+ */
+ TInt ConnectCancel( const TTsyReqHandle /*aTsyReqHandle*/ );
+
+ /**
+ * Loans the dataport to the client.
+ *
+ *
+ * @param aTsyReqHandle TSY request handle
+ * @param aCommPort Comm port
+ * @return KErrNone
+ */
+ TInt LoanDataPort( const TTsyReqHandle aTsyReqHandle,
+ RCall::TCommPort* aCommPort );
+
+ /**
+ * Cancels dataport loaning.
+ *
+ *
+ * @param aTsyReqHandle Tsy request handle
+ * @return KErrNone
+ */
+ TInt LoanDataPortCancel( const TTsyReqHandle /*aTsyReqHandle*/ );
+
+ /**
+ * Recovers the dataport from the client.
+ *
+ *
+ * @param aTsyReqHandle
+ * @return KErrNone
+ */
+ TInt RecoverDataPort( const TTsyReqHandle aTsyReqHandle );
+
+ /**
+ * Recovers the dataport from the client and relinquishes ownership.
+ *
+ *
+ * @return KErrNone
+ */
+ TInt RecoverDataPortAndRelinquishOwnership();
+
+ /**
+ * Returns fax settings to the client
+ *
+ *
+ * @param aTsyReqHandle TSY req handle
+ * @param aSettings Fax settings
+ * @return KErrNone
+ */
+ TInt GetFaxSettings( const TTsyReqHandle aTsyReqHandle,
+ RCall::TFaxSessionSettings* aSettings );
+
+ /**
+ * Sets new fax settings
+ *
+ *
+ * @param aTsyReqHandle TSY req handle
+ * @param aSettings Fax settings
+ * @return KErrNone
+ */
+ TInt SetFaxSettings( const TTsyReqHandle aTsyReqHandle,
+ const RCall::TFaxSessionSettings* aSettings );
+
+ protected: // New functions
+
+ /**
+ * Returns ETrue if the call object is "used" data call object
+ *
+ *
+ * @return Value of iIsFinishedDataCall boolean
+ */
+ TBool IsFinishedData() const;
+
+ private: // Constructors and destructor
+
+ /**
+ * C++ default constructor.
+ */
+ CMmFaxCallTsy();
+
+ private: // Functions from base classes
+
+ /**
+ * Initialises extension modules
+ *
+ *
+ * @param RMobilePhone::TMobileService Call mode
+ */
+ void InitExtensionModulesL( RMobilePhone::TMobileService aMode );
+
+ /**
+ * Initialises miscellaneous internal attributes
+ *
+ *
+ */
+ void InitInternalAttributes();
+
+ /**
+ * DoExtFuncL is called by the server when it has a "extended",
+ * i.e. non-core ETel request for the TSY. To process a request handle,
+ * request type and request data are passed to the TSY.
+ *
+ *
+ * @param aTsyReqHandle Request handle from ETel server
+ * @param aIpc IPC number of the request
+ * @param aPackage Reference to the input parameters.
+ * @return KErrNone/KErrNotSupported
+ */
+ TInt DoExtFuncL( const TTsyReqHandle aTsyReqHandle, const TInt aIpc,
+ const TDataPackage& aPackage );
+
+ /**
+ * Resets the status of the call
+ *
+ *
+ */
+ void ClearCallStatus();
+
+#ifdef REQHANDLE_TIMER
+ /**
+ * Chooses the type of response, automatic or common
+ *
+ *
+ * @param aReqHandleType TSY request handle type.
+ * @param aTsyReqHandle TSY request handle to be stored.
+ */
+ void SetTypeOfResponse( const TInt aReqHandleType,
+ const TTsyReqHandle aTsyReqHandle );
+#endif
+
+ private: // New functions
+
+ /**
+ * Get Data Call RLP Range.
+ *
+ *
+ * @param aTsyReqHandle
+ * @param aRLPVersion
+ * @param aRLPRange
+ * @return KErrNotSupported
+ */
+ TInt GetMobileDataCallRLPRange(
+ const TTsyReqHandle aTsyReqHandle,
+ TInt* /*aRLPVersion*/,
+ TDes8* /*aRLPRange*/ );
+
+ private: // Data
+
+ /**Boolean that indicates if this call object is finished data call.
+ * Required as Symbian CSD agent in situation where first data call
+ * fails due wrong number and it then opens second data call, which
+ * dials correct number. Call status notifications go to wrong call
+ * object (the first one) and causes problems for clients.
+ */
+ TBool iIsFinishedDataCall;
+
+ /**
+ * Dataport loaned to client
+ */
+ RCall::TCommPort iLoanedCommPort;
+
+ private: // Friend classes
+
+ /**
+ * Pointer to Internal fax call extension object.
+ * Own.
+ */
+ class CMmFaxExtInterface* iMmFaxExt;
+
+ };
+
+#endif // CMMFAXCALLTSY_H
+
+// End of File