telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmcallextinterface.h
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 /*
       
     2 * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef CMMCALLEXTINTERFACE_H
       
    21 #define CMMCALLEXTINTERFACE_H
       
    22 
       
    23 //  INCLUDES
       
    24 #include <et_tsy.h>
       
    25 
       
    26 #include "MmTsy_Csd_Defs.h"
       
    27 
       
    28 #include "ctsysystemstatepluginhandler.h"
       
    29 
       
    30 // FORWARD DECLARATIONS
       
    31 class CMmDataPackage;
       
    32 
       
    33 // CLASS DECLARATION
       
    34 
       
    35 /**
       
    36  *  CMmCallExtInterface is used to provide an extension interface for system 
       
    37  *  specific call object extensions.
       
    38  */
       
    39 class CMmCallExtInterface : public CBase
       
    40     {
       
    41     public: // Constructors and destructor
       
    42        
       
    43         //none
       
    44 
       
    45     public: // New functions
       
    46         
       
    47         /**
       
    48          * Returns extension specific data call caps.
       
    49          *         
       
    50          *
       
    51          * @param aCallDataCapsV1: a reference to the parameter object to be filled
       
    52          */
       
    53         virtual void GetMobileDataCallCapsV1( 
       
    54             RMobileCall::TMobileCallDataCapsV1& /*aCallDataCapsV1*/ ) = 0;
       
    55 
       
    56         /**
       
    57          * Received extension specific data call capabilities.
       
    58          *         
       
    59          *
       
    60          * @param aCaps New data call capabilities
       
    61          */
       
    62         virtual void ReceivedMobileDataCallCaps(
       
    63             RMobileCall::TMobileCallDataCapsV1* /*aCaps*/ )= 0;
       
    64 
       
    65         /**
       
    66          * Returns call parameters
       
    67          *         
       
    68          *
       
    69          * @param aParams 
       
    70          */
       
    71         virtual void GetCallParams( TDes8* /*aParams*/ ) = 0;
       
    72 
       
    73         /**
       
    74          * Extension specific bearer service info.
       
    75          *         
       
    76          *
       
    77          * @param RCall::TBearerService* aBearerService
       
    78          * @return KErrNotSupported
       
    79          */
       
    80         virtual TInt GetBearerServiceInfo( 
       
    81             RCall::TBearerService* /*aBearerService*/ ) = 0;
       
    82 
       
    83         /**
       
    84          * Extension specific dynamic HSCSD parameters.
       
    85          *         
       
    86          *
       
    87          * @param RMobileCall::TMobileCallAiur* aAiur
       
    88          * @param TInt* aRxTimeslots
       
    89          * @return KErrNotSupported
       
    90          */
       
    91         virtual TInt SetDynamicHscsdParamsL( 
       
    92             RMobileCall::TMobileCallAiur* /*aAiur*/, 
       
    93             TInt* /*aRxTimeslots*/ ) = 0;
       
    94 
       
    95 
       
    96         /**
       
    97          * Extension specific HSCSD info.
       
    98          *         
       
    99          *
       
   100          * @param TDes8* aHSCSDInfo
       
   101          * @return KErrNotSupported
       
   102          */
       
   103         virtual TInt GetCurrentHscsdInfo( TDes8* /*aHSCSDInfo*/ )= 0;
       
   104 
       
   105         /**
       
   106          * New MO call is created using Dial method.
       
   107          *         
       
   108          *
       
   109          * @param TUint8 aCallMode
       
   110          * @param const TDesC8* aCallParams
       
   111          * @param const TDesC* aNumber
       
   112          * @param const TInt aExtensionId
       
   113          * @return KErrNotSupported
       
   114          */
       
   115         virtual TInt DialL( RMobilePhone::TMobileService /*aCallMode*/, 
       
   116             const TDesC8* /*aCallParams*/, 
       
   117             const TDesC* /*aNumber*/,
       
   118             TInt /*aExtensionId*/ )= 0;
       
   119 
       
   120         /**
       
   121          * Extension specific dial for data calls.
       
   122          *         
       
   123          *
       
   124          * @param RMobilePhone::TMobileService aCallMode
       
   125          * @param const TDesC8* aCallParams
       
   126          * @param TDesC* aTelNumber
       
   127          * @return KErrNotSupported
       
   128          */
       
   129         virtual TInt DialDataCallL( 
       
   130             RMobilePhone::TMobileService /*aCallMode*/,
       
   131             const TDesC8* /*aCallParams*/,
       
   132             const TDesC* /*aTelNumber*/ ) = 0;
       
   133 
       
   134         /**
       
   135          * Emergency call is created using this method
       
   136          *         
       
   137          *
       
   138          * @param aCallbackData
       
   139          * @return success/failure value
       
   140          */
       
   141         virtual TInt DialEmergencyCall(TCtsySsmCallbackData& /*aCallbackData*/ ) = 0;
       
   142         /**
       
   143          * Extension specific answer incoming call.
       
   144          *         
       
   145          *
       
   146          * @param TInt aCallId
       
   147          * @param TInt aExtensionId
       
   148          * @return KErrNotSupported
       
   149          */
       
   150 	    virtual TInt AnswerIncomingCallL(
       
   151             TInt /*aCallId*/, TInt aExtensionId ) = 0;
       
   152 
       
   153         /**
       
   154          * Extension specific answer for incoming data calls.
       
   155          *         
       
   156          *
       
   157          * @param TInt aCallId
       
   158          * @return KErrNotSupported
       
   159          */
       
   160         virtual TInt AnswerIncomingDataCallL( TInt /*aCallId*/ ) = 0;
       
   161 
       
   162         /**
       
   163          * Sets the call on hold
       
   164          *         
       
   165          *
       
   166          * @param TInt: call id
       
   167          * @return KErrNotSupported
       
   168          */
       
   169         virtual TInt HoldL( TInt /*aCallId*/ ) = 0;
       
   170 
       
   171         /**
       
   172          * This method is used to resume a held call
       
   173          *
       
   174          * @param TInt: call id
       
   175          * @return TInt: KErrNotSupported
       
   176          */
       
   177         virtual TInt ResumeL( TInt /*aCallId*/ ) = 0;
       
   178 
       
   179         /**
       
   180          * This method is used to swap between active and held call
       
   181          *         
       
   182          *
       
   183          * @param TInt: call id
       
   184          * @return KErrNotSupported
       
   185          */
       
   186         virtual TInt SwapL( TInt /*aCallId*/ ) = 0;
       
   187 
       
   188         /**
       
   189          * Deflects the call to the given number
       
   190          *         
       
   191          *
       
   192          * @param TMobileCallDeflect*: deflect type
       
   193          * @param TMobileAddress*: given number
       
   194          * @return KErrNotSupported
       
   195          */
       
   196         virtual TInt DeflectL(  const TDataPackage& /*aData*/ ) = 0;
       
   197 
       
   198         /**
       
   199          * Inform extension dll about the current status.
       
   200          *         
       
   201          *
       
   202          * @param TMobileCallStatus: new call status
       
   203          * @return KErrNotSupported
       
   204          */
       
   205         virtual TInt CompleteNotifyStatusChange( 
       
   206              RMobileCall::TMobileCallStatus /*aCallStatus*/ ) = 0;
       
   207 
       
   208         /**
       
   209          * Default implementation of the GetMobileCallCaps, returns KErrNotFound
       
   210          * if method has not been defined in the extension
       
   211          *         
       
   212          *
       
   213          * @param aCallCapsV1: a reference to the parameter object to be filled
       
   214          */
       
   215          virtual void GetMobileCallCapsV1( 
       
   216             RMobileCall::TMobileCallCapsV1& /*aCallCapsV1*/ ) = 0;
       
   217 
       
   218 
       
   219         /**
       
   220          * Default implementation of the Transfer-method
       
   221          *         
       
   222          *
       
   223          * @return KErrNotSupported
       
   224          */
       
   225         virtual TInt TransferL() = 0;
       
   226 
       
   227         /**
       
   228          * Default implementation of the GoOneToOneL-method
       
   229          *         
       
   230          *
       
   231          * @param TInt aCallId: Call ID
       
   232          * @return KErrNotSupported
       
   233          */
       
   234         virtual TInt GoOneToOneL( TInt /*aCallId*/ ) = 0;
       
   235 
       
   236         /**
       
   237          * Extension specific reset internal attributes.
       
   238          *         
       
   239          *
       
   240          */
       
   241         virtual void ResetInternalAttributes() = 0;
       
   242 
       
   243         /**
       
   244          * Extension specific received call params.
       
   245          *         
       
   246          *
       
   247          * @param const CMmDataPackage* aDataPackage: call parameters
       
   248          */
       
   249         virtual void ReceivedCallParams(
       
   250             const CMmDataPackage* /*aDataPackage*/ ) = 0;
       
   251 
       
   252         /**
       
   253          * Extension specific received bearer service info.
       
   254          *         
       
   255          *
       
   256          * @param RCall::TBearerService aBearerService
       
   257          */
       
   258         virtual void ReceivedBearerServiceInfo( 
       
   259             RCall::TBearerService /*aBearerService*/ ) = 0;
       
   260 
       
   261         /**
       
   262          * Extension specific connect.
       
   263          *         
       
   264          *
       
   265          * @param const TDesC8* aCallParams
       
   266          */
       
   267         virtual void Connect( const TDesC8* /*aCallParams*/ ) = 0;
       
   268 
       
   269         /**
       
   270          * Default implementation of the FillMobileCallInfo,
       
   271          * returns KErrNotFound if method has not been defined in the extension
       
   272          *         
       
   273          *
       
   274          * @param RMobileCall::TMobileCallInfoV1* aInfoV1: mobile call info
       
   275          * @return KErrNotSupported
       
   276          */
       
   277         virtual TInt FillMobileCallInfo( 
       
   278             RMobileCall::TMobileCallInfoV1* /*aInfoV1*/ ) = 0;
       
   279 
       
   280         /**
       
   281          * Default implementation of the FillMobileCallInfoV3,
       
   282          * returns KErrNotFound if method has not been defined in the extension
       
   283          *         
       
   284          *
       
   285          * @param RMobileCall::TMobileCallInfoV3* aInfoV3: mobile call info
       
   286          * @return KErrNotSupported
       
   287          */         
       
   288          virtual TInt FillMobileCallInfoV3(  RMobileCall::TMobileCallInfoV3* /*aInfoV3*/ ) = 0;
       
   289         
       
   290          /**
       
   291          * Default implementation of the FillMobileCallInfoV7,
       
   292          * returns KErrNotFound if method has not been defined in the extension
       
   293          *         
       
   294          *
       
   295          * @param RMobileCall::TMobileCallInfoV7* aInfoV7: mobile call info
       
   296          * @return KErrNotSupported
       
   297          */
       
   298          virtual TInt FillMobileCallInfoV7(  RMobileCall::TMobileCallInfoV7* /*aInfoV7*/ ) = 0;
       
   299 
       
   300          /**
       
   301           * Default implementation of the FillMobileCallInfoV8,
       
   302           * returns KErrNotFound if method has not been defined in the extension
       
   303           *         
       
   304           *
       
   305           * @param RMobileCall::TMobileCallInfoV8* aInfoV8: mobile call info
       
   306           * @return KErrNotSupported
       
   307           */
       
   308         virtual TInt FillMobileCallInfoV8( RMobileCall::TMobileCallInfoV8* /*aInfoV8*/ ) = 0;
       
   309       
       
   310         /**
       
   311          * Default implementation of the GetRemotePartyInfo,
       
   312          * returns KErrNotFound if method has not been defined in the extension
       
   313          *         
       
   314          *
       
   315          * @param RMobileCall::TMobileCallRemotePartyInfoV1Pckg* aInfoV1Pckg: 
       
   316          * remote party information
       
   317          * @return KErrNotSupported
       
   318          */
       
   319         virtual TInt GetRemotePartyInfo( 
       
   320             RMobileCall::TMobileCallRemotePartyInfoV1Pckg* /*aInfoV1Pckg*/ ) = 0;
       
   321 
       
   322         /**
       
   323          * Extension specific set mobile call data
       
   324          *         
       
   325          *
       
   326          * @param aDataPackage: New mobile call data
       
   327          * @param aCallDirection New call direction
       
   328          */
       
   329         virtual void SetMobileCallData( CMmDataPackage* /*aDataPackage*/,
       
   330             RMobileCall::TMobileCallDirection /*aCallDirection*/ ) = 0;
       
   331 
       
   332         /**
       
   333          * Extension specific received HSCSD info.
       
   334          *         
       
   335          *
       
   336          * @param CMmDataPackage* aDataPackage
       
   337          */
       
   338         virtual void ReceivedHscsdInfo( 
       
   339             CMmDataPackage* /*aDataPackage*/ ) = 0;
       
   340 
       
   341         /**
       
   342          * Received extension specific data call capabilities.
       
   343          *         
       
   344          *
       
   345          * @param CMmDataPackage* aDataPackage
       
   346          */
       
   347         virtual void ReceivedMobileDataCallCaps(
       
   348             CMmDataPackage* /*aDataPackage*/ ) = 0;
       
   349 
       
   350         /**
       
   351          * Adds requested caps to GSM specific mobile 
       
   352          * call capabilities.
       
   353          *         
       
   354          *
       
   355          * @param aCaps Call capabilities to be added
       
   356          */
       
   357         virtual void AddGSMCallCaps( TUint32 /*aCaps*/ ) = 0;
       
   358 
       
   359         /**
       
   360          * Removes requested caps from GSM specific 
       
   361          * mobile call capabilities.
       
   362          *         
       
   363          *
       
   364          * @param aCaps Call capabilities to be removed
       
   365          */
       
   366         virtual void RemoveGSMCallCaps( TUint32 /*aCaps*/ ) = 0;
       
   367 
       
   368     };
       
   369 
       
   370 #endif // CMMCALLEXTINTERFACE_H   
       
   371             
       
   372 // End of File