phonesrv_plat/converged_call_provider_api/inc/mccptransferprovider.h
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
equal deleted inserted replaced
19:7d48bed6ce0c 20:987c9837762f
    32 * MCCPCallObserver is used for general call related status, event, error etc notifications.
    32 * MCCPCallObserver is used for general call related status, event, error etc notifications.
    33 *
    33 *
    34 *  @since S60 3.2
    34 *  @since S60 3.2
    35 */
    35 */
    36 class MCCPTransferProvider
    36 class MCCPTransferProvider
    37     {
    37 	{
    38 protected:
    38 protected:
    39 
    39 
    40     /** 
    40     /** 
    41     * Protected destructor. Object cannot be deleted from plug-in client (CCE).
    41     * Protected destructor. Object cannot be deleted from plug-in client (CCE).
    42     * @since S60 3.2
    42     * @since S60 3.2
    43     */
    43     */
    44     virtual inline ~MCCPTransferProvider() {};
    44     virtual inline ~MCCPTransferProvider() {};
    45     
    45 	
    46 public:
    46 public:
    47 
    47 
    48     /**
    48     /**
    49     * Attended transfer to given call recipient.
    49 	* Attended transfer to given call recipient.
    50     * There needs to exist two calls. a call between A-B and A-C. A wants to transfer the call to B-C. 
    50 	* There needs to exist two calls. a call between A-B and A-C. A wants to transfer the call to B-C. 
    51     * Both calls A-B and A-C will be disconnected after transfer.
    51 	* Both calls A-B and A-C will be disconnected after transfer.
    52     * In above case C will be the aTransferTargetCall call recipient. B is the recipient of the 
    52 	* In above case C will be the aTransferTargetCall call recipient. B is the recipient of the 
    53     * current call between A-B - called on A's call object transfer provider. 
    53 	* current call between A-B - called on A's call object transfer provider. 
    54     * The A-B call is on hold.
    54 	* The A-B call is on hold.
    55     * Actual request result indication comes via observer classes
    55     * Actual request result indication comes via observer classes
    56     * @param aTransferTargetCall Call containing the transfer target info.
    56 	* @param aTransferTargetCall Call containing the transfer target info.
    57     * @return KErrNone if request was started succesfully. 
    57     * @return KErrNone if request was started succesfully. 
    58     * @return KErrNotReady if call is not in connected or on-hold state.
    58     * @return KErrNotReady if call is not in connected or on-hold state.
    59     * @return KErrArgument transfer traget address was illegal.
    59     * @return KErrArgument transfer traget address was illegal.
    60     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
    60     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
    61     * @since S60 3.2
    61 	* @since S60 3.2
    62     */
    62 	*/
    63     virtual TInt AttendedTransfer( MCCPCall& aTransferTargetCall ) = 0;
    63 	virtual TInt AttendedTransfer( MCCPCall& aTransferTargetCall ) = 0;
    64 
    64 
    65     /**
    65     /**
    66     * TODO is this used at all? remove? only the call param one is used?
    66     * TODO is this used at all? remove? only the call param one is used?
    67     * Attended transfer to given address. There does not need to be 
    67 	* Attended transfer to given address. There does not need to be 
    68     * a current call between the given transfer target.
    68 	* a current call between the given transfer target.
    69     * Actual request result indication comes via observer class
    69     * Actual request result indication comes via observer class
    70     * @param aTransferTarget Transfer target address
    70 	* @param aTransferTarget Transfer target address
    71     * @return KErrNone if request was started succesfully. 
    71     * @return KErrNone if request was started succesfully. 
    72     * @return KErrNotReady if call is not in connected or on-hold state.
    72     * @return KErrNotReady if call is not in connected or on-hold state.
    73     * @return KErrArgument transfer address was illegal.
    73     * @return KErrArgument transfer address was illegal.
    74     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
    74     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
    75     * @since S60 3.2
    75 	* @since S60 3.2
    76     */
    76 	*/
    77     virtual TInt AttendedTransfer( const TDesC& aTransferTarget ) = 0;
    77 	virtual TInt AttendedTransfer( const TDesC& aTransferTarget ) = 0;
    78 
    78 
    79     /**
    79 	/**
    80     * Unattended transfer. Call is requested to be transferred to given address.
    80 	* Unattended transfer. Call is requested to be transferred to given address.
    81     * After MCCPTransferObserver::ECCPRemoteTransferring event current call will be 
    81 	* After MCCPTransferObserver::ECCPRemoteTransferring event current call will be 
    82     * disconnected and no transfer status is checked from the operation. 
    82 	* disconnected and no transfer status is checked from the operation. 
    83     * Actual request result indication comes via observer classes
    83     * Actual request result indication comes via observer classes
    84     * @since S60 3.2
    84 	* @since S60 3.2
    85     * @param aTransferTarget Address of the target
    85 	* @param aTransferTarget Address of the target
    86     * @return KErrNone if request was started succesfully. 
    86     * @return KErrNone if request was started succesfully. 
    87     * @return KErrNotReady if call is not in connected or on-hold state.
    87     * @return KErrNotReady if call is not in connected or on-hold state.
    88     * @return KErrArgument transfer address was illegal.
    88     * @return KErrArgument transfer address was illegal.
    89     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
    89     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
    90     */
    90 	*/
    91     virtual TInt UnattendedTransfer( const TDesC& aTransferTarget ) = 0;
    91 	virtual TInt UnattendedTransfer( const TDesC& aTransferTarget ) = 0;
    92 
    92 
    93     /**
    93 	/**
    94     * Accept incoming call transfer request from the call remote party.
    94 	* Accept incoming call transfer request from the call remote party.
    95     * Actual request result indication comes via observer class
    95     * Actual request result indication comes via observer class
    96     * @since Series 60 3.2
    96 	* @since Series 60 3.2
    97     * @param aAccept ETrue - accept transfer, EFalse do not accept transfer request.
    97 	* @param aAccept ETrue - accept transfer, EFalse do not accept transfer request.
    98     * @return KErrNone if request was started succesfully. 
    98     * @return KErrNone if request was started succesfully. 
    99     * @return KErrNotReady if call is not in connected or on-hold state.
    99     * @return KErrNotReady if call is not in connected or on-hold state.
   100     * @return KErrArgument transfer address was illegal.
   100     * @return KErrArgument transfer address was illegal.
   101     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
   101     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
   102     * @pre MCCPObserver::CallCreated is called with the newly created call
   102 	* @pre MCCPObserver::CallCreated is called with the newly created call
   103     */
   103 	*/
   104     virtual TInt AcceptTransfer( const TBool aAccept ) = 0;
   104 	virtual TInt AcceptTransfer( const TBool aAccept ) = 0;
   105       
   105 	  
   106     /**
   106     /**
   107     * When the other end of the call has requested call transfer to third party it is notified to 
   107     * When the other end of the call has requested call transfer to third party it is notified to 
   108     * MCCPTransferObserver::TransferEventOccurred(MCCPTransferObserver::ECCPRemoteTransferring).
   108     * MCCPTransferObserver::TransferEventOccurred(MCCPTransferObserver::ECCPRemoteTransferring).
   109     * The new recipient of the call can be fetched via this method.
   109     * The new recipient of the call can be fetched via this method.
   110     * @since Series 60 3.2
   110 	* @since Series 60 3.2
   111     * @param none
   111 	* @param none
   112     * @return new recipient for the call after transfer
   112 	* @return new recipient for the call after transfer
   113     * @return KNullDesC if no transfer target is available
   113 	* @return KNullDesC if no transfer target is available
   114     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
   114     * @pre Call state is MCCPCallObserver::ECCPStateConnected or MCCPCallObserver::ECCPStateHold
   115     * @pre MCCPObserver::CallCreated is called with the newly created call
   115 	* @pre MCCPObserver::CallCreated is called with the newly created call
   116     */
   116 	*/
   117     virtual const TDesC& TransferTarget() const = 0;
   117 	virtual const TDesC& TransferTarget() const = 0;
   118     
   118 	
   119     /**
   119     /**
   120     * Add an observer for transfer related events.
   120     * Add an observer for transfer related events.
   121     * Currently CCE will set only one observer.
   121     * Currently CCE will set only one observer.
   122     * @since S60 v3.2
   122     * @since S60 v3.2
   123     * @param aObserver Observer to add.
   123     * @param aObserver Observer to add.