phonesrv_plat/converged_call_provider_api/inc/cconvergedcallprovider.h
branchRCL_3
changeset 19 7d48bed6ce0c
parent 0 ff3b6d0fd310
child 20 987c9837762f
equal deleted inserted replaced
18:594d59766373 19:7d48bed6ce0c
   101     * @param aSsObserver Supplementary services observer class.
   101     * @param aSsObserver Supplementary services observer class.
   102     * @leave KErrAlreadyExists If this method has already been called.
   102     * @leave KErrAlreadyExists If this method has already been called.
   103     */
   103     */
   104     virtual void InitializeL( const TUint32 aServiceId,
   104     virtual void InitializeL( const TUint32 aServiceId,
   105                               const MCCPObserver& aObserver, 
   105                               const MCCPObserver& aObserver, 
   106     						  const MCCPSsObserver& aSsObserver );
   106                               const MCCPSsObserver& aSsObserver );
   107 
   107 
   108     /**
   108     /**
   109     * Initialize CConvergedCallProvider after it is created with NewL.
   109     * Initialize CConvergedCallProvider after it is created with NewL.
   110     * @since S60 3.2
   110     * @since S60 3.2
   111     * @param aObserver Observer class.
   111     * @param aObserver Observer class.
   112     * @param aSsObserver Supplementary services observer class.
   112     * @param aSsObserver Supplementary services observer class.
   113     * @leave KErrAlreadyExists If this method has already been called.
   113     * @leave KErrAlreadyExists If this method has already been called.
   114     */
   114     */
   115     virtual void InitializeL( const MCCPObserver& aObserver, 
   115     virtual void InitializeL( const MCCPObserver& aObserver, 
   116     						  const MCCPSsObserver& aSsObserver ) = 0;
   116                               const MCCPSsObserver& aSsObserver ) = 0;
   117 
   117 
   118     /**
   118     /**
   119     * Creates a new call.
   119     * Creates a new call.
   120     * @since S60 3.2
   120     * @since S60 3.2
   121     * @param aParameters Call paramaters such as servive-id used and call type.
   121     * @param aParameters Call paramaters such as servive-id used and call type.
   131     * @leave KErrArgument Invalid recipient address or service id.
   131     * @leave KErrArgument Invalid recipient address or service id.
   132     * @leave Other general system error.
   132     * @leave Other general system error.
   133     * @pre Initialize has been called.
   133     * @pre Initialize has been called.
   134     */ 
   134     */ 
   135     virtual MCCPCall* NewCallL( const CCCPCallParameters& aParameters,
   135     virtual MCCPCall* NewCallL( const CCCPCallParameters& aParameters,
   136 								const TDesC& aRecipient,
   136                                 const TDesC& aRecipient,
   137 								const MCCPCallObserver& aObserver ) = 0;
   137                                 const MCCPCallObserver& aObserver ) = 0;
   138     /**
   138     /**
   139     * Releases all bindings to call and deletes it. 
   139     * Releases all bindings to call and deletes it. 
   140     * This will be called by CCE to free all the resources reserved for the call.
   140     * This will be called by CCE to free all the resources reserved for the call.
   141     * After this call CCE will not access the call object anymore and observer 
   141     * After this call CCE will not access the call object anymore and observer 
   142     * for the class must not be used in plug-in.
   142     * for the class must not be used in plug-in.
   159     * @param aServiceId Service-Id (this might get removed)
   159     * @param aServiceId Service-Id (this might get removed)
   160     * @param aAddress Address where emergency call is to be made
   160     * @param aAddress Address where emergency call is to be made
   161     * Can be KNullDesC. Plug-in will use the given address and/or use its own information.
   161     * Can be KNullDesC. Plug-in will use the given address and/or use its own information.
   162     * @param aObserver Observer for the emergency call.
   162     * @param aObserver Observer for the emergency call.
   163     * @return MCCPEmergencyCall Created emergency call.
   163     * @return MCCPEmergencyCall Created emergency call.
   164 	* @leave plug-in does not support emergency calls.
   164     * @leave plug-in does not support emergency calls.
   165 	* @leave In case of failure system error code.
   165     * @leave In case of failure system error code.
   166     * @pre Emergency call object is created.
   166     * @pre Emergency call object is created.
   167     */
   167     */
   168     virtual MCCPEmergencyCall* NewEmergencyCallL( const TUint32 aServiceId, 
   168     virtual MCCPEmergencyCall* NewEmergencyCallL( const TUint32 aServiceId, 
   169                                                   const TDesC& aAddress,
   169                                                   const TDesC& aAddress,
   170                                                   const MCCPCallObserver& aObserver ) = 0;
   170                                                   const MCCPCallObserver& aObserver ) = 0;
   194     * @param aObserver Conference call observer.
   194     * @param aObserver Conference call observer.
   195     * @return MCCPConferenceCall object.
   195     * @return MCCPConferenceCall object.
   196     * @leave KErrNotReady Temporarily not able to create the requested conference.
   196     * @leave KErrNotReady Temporarily not able to create the requested conference.
   197     * @leave KErrNoMemory Memory error.
   197     * @leave KErrNoMemory Memory error.
   198     * @leave KErrArgument Invalid service id.
   198     * @leave KErrArgument Invalid service id.
   199 	* @leave plug-in does not support conference calls.
   199     * @leave plug-in does not support conference calls.
   200     * @pre Initialize has been called.
   200     * @pre Initialize has been called.
   201     */
   201     */
   202     virtual MCCPConferenceCall* NewConferenceL( const TUint32 aServiceId,
   202     virtual MCCPConferenceCall* NewConferenceL( const TUint32 aServiceId,
   203 								                const MCCPConferenceCallObserver& aObserver ) = 0;
   203                                                 const MCCPConferenceCallObserver& aObserver ) = 0;
   204 
   204 
   205     /**
   205     /**
   206     * Releases all bindings to conference call. CCE will call this after receiving 
   206     * Releases all bindings to conference call. CCE will call this after receiving 
   207     * MCCPConferenceCallObserver::ECCPConferenceIdle from plug-in or when it itself 
   207     * MCCPConferenceCallObserver::ECCPConferenceIdle from plug-in or when it itself 
   208     * wants to release the call. In normal sequence called from CCE after HangUp is completed.
   208     * wants to release the call. In normal sequence called from CCE after HangUp is completed.
   231     * @return On return contains the capability flags of plug-In.
   231     * @return On return contains the capability flags of plug-In.
   232     */
   232     */
   233     virtual TUint32 Caps() const = 0;
   233     virtual TUint32 Caps() const = 0;
   234 
   234 
   235     /**
   235     /**
   236 	* Request DTMF provider for dtmf functionality extension. Only one instance exist. Must return the 
   236     * Request DTMF provider for dtmf functionality extension. Only one instance exist. Must return the 
   237 	* already created object if called again after initial creation.
   237     * already created object if called again after initial creation.
   238     * @since Series 60 3.2
   238     * @since Series 60 3.2
   239     * @param aObserver Observer for DTMF events.
   239     * @param aObserver Observer for DTMF events.
   240 	* @return Pointer to MCCPDTMFProvider if plug-in support dtmf, returns NULL if not supported.
   240     * @return Pointer to MCCPDTMFProvider if plug-in support dtmf, returns NULL if not supported.
   241 	* In not supported return NULL but do not leave.
   241     * In not supported return NULL but do not leave.
   242     * @pre Initialize has been called.
   242     * @pre Initialize has been called.
   243     * @leave KErrNoMemory Memory allocation error.
   243     * @leave KErrNoMemory Memory allocation error.
   244     * @leave Other general system error.
   244     * @leave Other general system error.
   245 	*/
   245     */
   246 	virtual MCCPDTMFProvider* DTMFProviderL( const MCCPDTMFObserver& aObserver ) = 0;
   246     virtual MCCPDTMFProvider* DTMFProviderL( const MCCPDTMFObserver& aObserver ) = 0;
   247 
   247 
   248 	/**
   248     /**
   249 	* Request extension provider for custom command handling features. Must return the 
   249     * Request extension provider for custom command handling features. Must return the 
   250 	* already created object if called again after initial creation.
   250     * already created object if called again after initial creation.
   251 	* @since Series 60 3.2
   251     * @since Series 60 3.2
   252     * @param aObserver observer for extension(custom) events.
   252     * @param aObserver observer for extension(custom) events.
   253 	* @return Pointer to MCCPExtensionProvider if plug-in support extensions, returns NULL if not supported.
   253     * @return Pointer to MCCPExtensionProvider if plug-in support extensions, returns NULL if not supported.
   254 	* In not supported return NULL but do not leave.
   254     * In not supported return NULL but do not leave.
   255     * @pre Initialize has been called.
   255     * @pre Initialize has been called.
   256     * @leave KErrNoMemory Memory allocation error.
   256     * @leave KErrNoMemory Memory allocation error.
   257     * @leave Other general system error.
   257     * @leave Other general system error.
   258 	*/
   258     */
   259 	virtual MCCPExtensionProvider* ExtensionProviderL( const MCCPExtensionObserver& aObserver ) = 0;
   259     virtual MCCPExtensionProvider* ExtensionProviderL( const MCCPExtensionObserver& aObserver ) = 0;
   260 
   260 
   261 	/**
   261     /**
   262 	* This method gets the lifetime of the MS. The lifetime information 
   262     * This method gets the lifetime of the MS. The lifetime information 
   263 	* includes the manufacturing date of the MS and the total amount of airtime use, 
   263     * includes the manufacturing date of the MS and the total amount of airtime use, 
   264 	* from the manufacturing date until the call to this method. Calling this method 
   264     * from the manufacturing date until the call to this method. Calling this method 
   265 	* does not reset any data. This is used only CS, other plug-ins may ignore this method.
   265     * does not reset any data. This is used only CS, other plug-ins may ignore this method.
   266 	* @since S60 3.2
   266     * @since S60 3.2
   267 	* @param aLifeTimeInfo Life time information
   267     * @param aLifeTimeInfo Life time information
   268 	* @return Get succeeded or not.  Default if not implemeted return false. 
   268     * @return Get succeeded or not.  Default if not implemeted return false. 
   269 	*/
   269     */
   270 	virtual TBool GetLifeTime( TDes8& /*aLifeTimeInfo*/ ) { return EFalse; };
   270     virtual TBool GetLifeTime( TDes8& /*aLifeTimeInfo*/ ) { return EFalse; };
   271 
   271 
   272 	/**
   272     /**
   273 	* This method gets cs specific information from cs-plugin. This is used only CS, 
   273     * This method gets cs specific information from cs-plugin. This is used only CS, 
   274 	* other plug-ins may ignore this method.
   274     * other plug-ins may ignore this method.
   275 	* @since S60 3.2
   275     * @since S60 3.2
   276 	* @param aCSInfo CS specific information from cs-plugin.
   276     * @param aCSInfo CS specific information from cs-plugin.
   277 	* @return Get succeeded or not. Default if not implemeted return false.
   277     * @return Get succeeded or not. Default if not implemeted return false.
   278 	*/
   278     */
   279 	virtual TBool GetCSInfo( CSInfo& /*aCSInfo*/ )  {  return EFalse; };
   279     virtual TBool GetCSInfo( CSInfo& /*aCSInfo*/ )  {  return EFalse; };
   280 
   280 
   281 private: // Data
   281 private: // Data
   282 
   282 
   283     // ECom indentifier key.
   283     // ECom indentifier key.
   284     TUid iDtor_ID_Key;
   284     TUid iDtor_ID_Key;