diff -r 41a7f70b3818 -r 5266b1f337bd phoneengine/servicehandling/inc/cpeservicehandling.h --- a/phoneengine/servicehandling/inc/cpeservicehandling.h Tue Aug 31 15:14:29 2010 +0300 +++ b/phoneengine/servicehandling/inc/cpeservicehandling.h Wed Sep 01 12:30:10 2010 +0100 @@ -20,6 +20,7 @@ #define C_PESERVICEHANDLING_H #include +#include #include "mpeservicehandling.h" class MPEPhoneModelInternal; @@ -32,28 +33,29 @@ * @since S60 v5.0 */ NONSHARABLE_CLASS( CPEServiceHandling ): public CBase, + public MCchServiceStatusObserver, public MPEServiceHandling { - public: // Constructors and destructor + public: // Constructors and destructor - /** - * Two-phased constructor. - */ - IMPORT_C static CPEServiceHandling* NewL( MPEPhoneModelInternal& aModel ); + /** + * Two-phased constructor. + */ + IMPORT_C static CPEServiceHandling* NewL( MPEPhoneModelInternal& aModel ); - /** - * Two-phased constructor. - */ - IMPORT_C static CPEServiceHandling* NewLC( MPEPhoneModelInternal& aModel ); + /** + * Two-phased constructor. + */ + IMPORT_C static CPEServiceHandling* NewLC( MPEPhoneModelInternal& aModel ); - /** - * Destructors. - */ - IMPORT_C virtual ~CPEServiceHandling(); + /** + * Destructors. + */ + IMPORT_C virtual ~CPEServiceHandling(); - public: // from MPEServiceHandling - + public: // from MPEServiceHandling + /** * From MPEServiceHandling. * Enables service defined by the given identifier. @@ -63,22 +65,35 @@ * * @since S60 5.0 * @param aServiceId Identifier of the service. - */ - void EnableServiceL( TInt aServiceId ); - + */ + void EnableServiceL( TInt aServiceId ); + /** * From MPEServiceHandling. * Cancel current service. */ - void CancelServiceEnabling() const; - + void CancelServiceEnabling() const; + /** * From MPEServiceHandling. * Disable service. */ void DisableService() const; - private: // Constructors + public: // from MCchServiceStatusObserver + + /** + * From MCchServiceStatusObserver. + * Signaled when service status or error changes. + * + * @param aServiceId Identifier of the service. + * @param aType Service type. + * @param aServiceStatus Service status. + */ + void ServiceStatusChanged( TInt aServiceId, + const TCCHSubserviceType aType, + const TCchServiceStatus& aServiceStatus ); + private: // Constructors /** * C++ default constructor. @@ -89,19 +104,44 @@ * By default Symbian 2nd phase constructor is private. */ void ConstructL(); - - private: // data - + + private: // functions + /** - * PhoneModel. - * Not own. + * Enable service, if not already enabled. + * + * @param aState Service state. + * @param aService Service. + * @return Error code. */ - MPEPhoneModelInternal& iModel; - + TInt EnableServiceIfNeeded( const TCCHSubserviceState& aState, + CCchService& aService ); /** - * Current service identifier. - */ - TInt iCurrentServiceId; + * Sends ServiceHandlingError message to PhoneEngine and saves + * errorcode to member variable. + * + * @param aErrorCode, Cch errorcode. + */ + void SendErrorMessage( TInt aErrorCode ); + + private: // data + + /** + * CCH client. + * Own. + */ + CCch* iCchClient; + + /** + * PhoneModel. + * Not own. + */ + MPEPhoneModelInternal& iModel; + + /** + * Current service identifier. + */ + TInt iCurrentServiceId; }; #endif // C_PESERVICEHANDLING_H