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. |