--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmcallextinterface.h Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,372 @@
+/*
+* 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 CMMCALLEXTINTERFACE_H
+#define CMMCALLEXTINTERFACE_H
+
+// INCLUDES
+#include <et_tsy.h>
+
+#include "MmTsy_Csd_Defs.h"
+
+#include "ctsysystemstatepluginhandler.h"
+
+// FORWARD DECLARATIONS
+class CMmDataPackage;
+
+// CLASS DECLARATION
+
+/**
+ * CMmCallExtInterface is used to provide an extension interface for system
+ * specific call object extensions.
+ */
+class CMmCallExtInterface : public CBase
+ {
+ public: // Constructors and destructor
+
+ //none
+
+ public: // New functions
+
+ /**
+ * Returns extension specific data call caps.
+ *
+ *
+ * @param aCallDataCapsV1: a reference to the parameter object to be filled
+ */
+ virtual void GetMobileDataCallCapsV1(
+ RMobileCall::TMobileCallDataCapsV1& /*aCallDataCapsV1*/ ) = 0;
+
+ /**
+ * Received extension specific data call capabilities.
+ *
+ *
+ * @param aCaps New data call capabilities
+ */
+ virtual void ReceivedMobileDataCallCaps(
+ RMobileCall::TMobileCallDataCapsV1* /*aCaps*/ )= 0;
+
+ /**
+ * Returns call parameters
+ *
+ *
+ * @param aParams
+ */
+ virtual void GetCallParams( TDes8* /*aParams*/ ) = 0;
+
+ /**
+ * Extension specific bearer service info.
+ *
+ *
+ * @param RCall::TBearerService* aBearerService
+ * @return KErrNotSupported
+ */
+ virtual TInt GetBearerServiceInfo(
+ RCall::TBearerService* /*aBearerService*/ ) = 0;
+
+ /**
+ * Extension specific dynamic HSCSD parameters.
+ *
+ *
+ * @param RMobileCall::TMobileCallAiur* aAiur
+ * @param TInt* aRxTimeslots
+ * @return KErrNotSupported
+ */
+ virtual TInt SetDynamicHscsdParamsL(
+ RMobileCall::TMobileCallAiur* /*aAiur*/,
+ TInt* /*aRxTimeslots*/ ) = 0;
+
+
+ /**
+ * Extension specific HSCSD info.
+ *
+ *
+ * @param TDes8* aHSCSDInfo
+ * @return KErrNotSupported
+ */
+ virtual TInt GetCurrentHscsdInfo( TDes8* /*aHSCSDInfo*/ )= 0;
+
+ /**
+ * New MO call is created using Dial method.
+ *
+ *
+ * @param TUint8 aCallMode
+ * @param const TDesC8* aCallParams
+ * @param const TDesC* aNumber
+ * @param const TInt aExtensionId
+ * @return KErrNotSupported
+ */
+ virtual TInt DialL( RMobilePhone::TMobileService /*aCallMode*/,
+ const TDesC8* /*aCallParams*/,
+ const TDesC* /*aNumber*/,
+ TInt /*aExtensionId*/ )= 0;
+
+ /**
+ * Extension specific dial for data calls.
+ *
+ *
+ * @param RMobilePhone::TMobileService aCallMode
+ * @param const TDesC8* aCallParams
+ * @param TDesC* aTelNumber
+ * @return KErrNotSupported
+ */
+ virtual TInt DialDataCallL(
+ RMobilePhone::TMobileService /*aCallMode*/,
+ const TDesC8* /*aCallParams*/,
+ const TDesC* /*aTelNumber*/ ) = 0;
+
+ /**
+ * Emergency call is created using this method
+ *
+ *
+ * @param aCallbackData
+ * @return success/failure value
+ */
+ virtual TInt DialEmergencyCall(TCtsySsmCallbackData& /*aCallbackData*/ ) = 0;
+ /**
+ * Extension specific answer incoming call.
+ *
+ *
+ * @param TInt aCallId
+ * @param TInt aExtensionId
+ * @return KErrNotSupported
+ */
+ virtual TInt AnswerIncomingCallL(
+ TInt /*aCallId*/, TInt aExtensionId ) = 0;
+
+ /**
+ * Extension specific answer for incoming data calls.
+ *
+ *
+ * @param TInt aCallId
+ * @return KErrNotSupported
+ */
+ virtual TInt AnswerIncomingDataCallL( TInt /*aCallId*/ ) = 0;
+
+ /**
+ * Sets the call on hold
+ *
+ *
+ * @param TInt: call id
+ * @return KErrNotSupported
+ */
+ virtual TInt HoldL( TInt /*aCallId*/ ) = 0;
+
+ /**
+ * This method is used to resume a held call
+ *
+ * @param TInt: call id
+ * @return TInt: KErrNotSupported
+ */
+ virtual TInt ResumeL( TInt /*aCallId*/ ) = 0;
+
+ /**
+ * This method is used to swap between active and held call
+ *
+ *
+ * @param TInt: call id
+ * @return KErrNotSupported
+ */
+ virtual TInt SwapL( TInt /*aCallId*/ ) = 0;
+
+ /**
+ * Deflects the call to the given number
+ *
+ *
+ * @param TMobileCallDeflect*: deflect type
+ * @param TMobileAddress*: given number
+ * @return KErrNotSupported
+ */
+ virtual TInt DeflectL( const TDataPackage& /*aData*/ ) = 0;
+
+ /**
+ * Inform extension dll about the current status.
+ *
+ *
+ * @param TMobileCallStatus: new call status
+ * @return KErrNotSupported
+ */
+ virtual TInt CompleteNotifyStatusChange(
+ RMobileCall::TMobileCallStatus /*aCallStatus*/ ) = 0;
+
+ /**
+ * Default implementation of the GetMobileCallCaps, returns KErrNotFound
+ * if method has not been defined in the extension
+ *
+ *
+ * @param aCallCapsV1: a reference to the parameter object to be filled
+ */
+ virtual void GetMobileCallCapsV1(
+ RMobileCall::TMobileCallCapsV1& /*aCallCapsV1*/ ) = 0;
+
+
+ /**
+ * Default implementation of the Transfer-method
+ *
+ *
+ * @return KErrNotSupported
+ */
+ virtual TInt TransferL() = 0;
+
+ /**
+ * Default implementation of the GoOneToOneL-method
+ *
+ *
+ * @param TInt aCallId: Call ID
+ * @return KErrNotSupported
+ */
+ virtual TInt GoOneToOneL( TInt /*aCallId*/ ) = 0;
+
+ /**
+ * Extension specific reset internal attributes.
+ *
+ *
+ */
+ virtual void ResetInternalAttributes() = 0;
+
+ /**
+ * Extension specific received call params.
+ *
+ *
+ * @param const CMmDataPackage* aDataPackage: call parameters
+ */
+ virtual void ReceivedCallParams(
+ const CMmDataPackage* /*aDataPackage*/ ) = 0;
+
+ /**
+ * Extension specific received bearer service info.
+ *
+ *
+ * @param RCall::TBearerService aBearerService
+ */
+ virtual void ReceivedBearerServiceInfo(
+ RCall::TBearerService /*aBearerService*/ ) = 0;
+
+ /**
+ * Extension specific connect.
+ *
+ *
+ * @param const TDesC8* aCallParams
+ */
+ virtual void Connect( const TDesC8* /*aCallParams*/ ) = 0;
+
+ /**
+ * Default implementation of the FillMobileCallInfo,
+ * returns KErrNotFound if method has not been defined in the extension
+ *
+ *
+ * @param RMobileCall::TMobileCallInfoV1* aInfoV1: mobile call info
+ * @return KErrNotSupported
+ */
+ virtual TInt FillMobileCallInfo(
+ RMobileCall::TMobileCallInfoV1* /*aInfoV1*/ ) = 0;
+
+ /**
+ * Default implementation of the FillMobileCallInfoV3,
+ * returns KErrNotFound if method has not been defined in the extension
+ *
+ *
+ * @param RMobileCall::TMobileCallInfoV3* aInfoV3: mobile call info
+ * @return KErrNotSupported
+ */
+ virtual TInt FillMobileCallInfoV3( RMobileCall::TMobileCallInfoV3* /*aInfoV3*/ ) = 0;
+
+ /**
+ * Default implementation of the FillMobileCallInfoV7,
+ * returns KErrNotFound if method has not been defined in the extension
+ *
+ *
+ * @param RMobileCall::TMobileCallInfoV7* aInfoV7: mobile call info
+ * @return KErrNotSupported
+ */
+ virtual TInt FillMobileCallInfoV7( RMobileCall::TMobileCallInfoV7* /*aInfoV7*/ ) = 0;
+
+ /**
+ * Default implementation of the FillMobileCallInfoV8,
+ * returns KErrNotFound if method has not been defined in the extension
+ *
+ *
+ * @param RMobileCall::TMobileCallInfoV8* aInfoV8: mobile call info
+ * @return KErrNotSupported
+ */
+ virtual TInt FillMobileCallInfoV8( RMobileCall::TMobileCallInfoV8* /*aInfoV8*/ ) = 0;
+
+ /**
+ * Default implementation of the GetRemotePartyInfo,
+ * returns KErrNotFound if method has not been defined in the extension
+ *
+ *
+ * @param RMobileCall::TMobileCallRemotePartyInfoV1Pckg* aInfoV1Pckg:
+ * remote party information
+ * @return KErrNotSupported
+ */
+ virtual TInt GetRemotePartyInfo(
+ RMobileCall::TMobileCallRemotePartyInfoV1Pckg* /*aInfoV1Pckg*/ ) = 0;
+
+ /**
+ * Extension specific set mobile call data
+ *
+ *
+ * @param aDataPackage: New mobile call data
+ * @param aCallDirection New call direction
+ */
+ virtual void SetMobileCallData( CMmDataPackage* /*aDataPackage*/,
+ RMobileCall::TMobileCallDirection /*aCallDirection*/ ) = 0;
+
+ /**
+ * Extension specific received HSCSD info.
+ *
+ *
+ * @param CMmDataPackage* aDataPackage
+ */
+ virtual void ReceivedHscsdInfo(
+ CMmDataPackage* /*aDataPackage*/ ) = 0;
+
+ /**
+ * Received extension specific data call capabilities.
+ *
+ *
+ * @param CMmDataPackage* aDataPackage
+ */
+ virtual void ReceivedMobileDataCallCaps(
+ CMmDataPackage* /*aDataPackage*/ ) = 0;
+
+ /**
+ * Adds requested caps to GSM specific mobile
+ * call capabilities.
+ *
+ *
+ * @param aCaps Call capabilities to be added
+ */
+ virtual void AddGSMCallCaps( TUint32 /*aCaps*/ ) = 0;
+
+ /**
+ * Removes requested caps from GSM specific
+ * mobile call capabilities.
+ *
+ *
+ * @param aCaps Call capabilities to be removed
+ */
+ virtual void RemoveGSMCallCaps( TUint32 /*aCaps*/ ) = 0;
+
+ };
+
+#endif // CMMCALLEXTINTERFACE_H
+
+// End of File