telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmcallextinterface.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /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