diff -r 000000000000 -r 5e5d6b214f4f uiservicetab/vimpstengine/inc/mvimpstengine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiservicetab/vimpstengine/inc/mvimpstengine.h Tue Feb 02 10:12:18 2010 +0200 @@ -0,0 +1,269 @@ +/* +* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: M-Class that capsulates single service API's +* +*/ + + +#ifndef MVIMPSTENGINE_H +#define MVIMPSTENGINE_H + +// INCLUDES +#include +#include "tvimpstenums.h" + + +//FORWARD DECLARATION +class MVIMPSTEngineSearchMgrExtention; +class MVIMPSTEngineServiceStateEventObserver; +class MVIMPSTEngineSubService; +class MVIMPSTEngineExtentionFeatures; +class MVIMPSTEnginePresenceSubService; +class MVIMPSTEngineBlockedListFetchEventObserver; + +//CLASS DECLARATION +/** + * + * This class list the M-Class for Engine API's + * + * @lib vimpstengine.lib + * @since S60 5.0 + */ +//Class declaration +class MVIMPSTEngine + { + + public: + + /** + * Gets the Service Id + * @return TUint32 Service Id + */ + virtual TUint32 ServiceId() const = 0 ; + + + /** + * Returns the Service State - Cumulative Service State of the SubServices + * @return TVIMPSTRegistrationState, current service state. + */ + virtual TVIMPSTEnums::TVIMPSTRegistrationState ServiceState() const = 0; + + + /** + * Gets the Brand Information for the current service + * @param aBrandLanguage - Holds the BrandLanguage + * @param aBrandVersion - Holds the Version to be used + * @param aBrandId - Holds the brandId + * caller should allocate memory for all params and send the same to this API + * The result will be available in the InParams otself. + * @return TInt Error code + */ + virtual TInt GetBrandInfoL(TLanguage& aBrandLanguage, + TInt& aBrandVersion, TDes8& aBrandId) const = 0; + + + + /** + * Returns a SubService is Supported or not + * Components intertested in knowing whether a SubService is Supported or not can use this API + * @param aType - Type of the SubService TVIMPSTEnums::SubServiceType - Defined in tvimpstenums.h + * @return TBool, ETrue if the SubService is Supported in this Service, else returns EFalse + */ + virtual TBool IsSubServiceSupportedL(TVIMPSTEnums::SubServiceType aType) const = 0; + + + /** + * Returns TBool whether a SubService is Enabled or not + * Components intertested in knowing whether a SubService is Enabled or not can use this API + * @param aType - Type of the SubService TVIMPSTEnums::SubServiceType - Defined in tvimpstenums.h + * @return TBool, ETrue if the SubService is Enabled in this Service, else returns EFalse + */ + virtual TBool IsSubServiceEnabled(TVIMPSTEnums::SubServiceType aType) const = 0; + + /** + * Gets the StoreName for given service + * @param aContactStoreId, Virtual store id. + * The caller of the this function has to assign required memory for aContactStoreId + * aContactStoreId will be filled with the Virtual Store Id by this API + */ + virtual void ContactStoreIdL( + TDes& aContactStoreId ) const = 0; + + /** + * returns the Service Name + * @return TDesC&, reference to service name. Ownership is not transferred. + */ + virtual const TDesC& ServiceName() const = 0; + + /** + * Register Session Observer. + * @aObserver, observer ot be registered. + */ + virtual void RegisterServiceSessionObserverL + (MVIMPSTEngineServiceStateEventObserver* aObserver) = 0; + + /** + * UnRegisters Session Observer + * @aObserver, observer ot be Unregistered. + */ + virtual void UnRegisterServiceSessionObserver + (MVIMPSTEngineServiceStateEventObserver* aObserver) = 0; + + + /** + * intialize storage + */ + virtual void IntializeStorageL() = 0; + + /** + * unintialize storage + */ + virtual void UnIntializeStorage() = 0; + + + /** + * Get the Ptr to the SubService given the Type of the SubService + * This API returns a Generalised SubService Class MVIMPSTEngineSubService + * Ownership of the SubService is not Transferred to the Caller + * The Caller can use this (MVIMPSTEngineSubService*) ptr to typecast to appropriate SubService Interface + * Usage : MVIMPSTEngineIMSubService* imSubService = + * dynamic_cast + * (iEngine.SubService(TVIMPSTEnums::EIM)); + * + * if(imSubService) + * { + * imSubService->CloseConversationL( iContactId ); + * } + * @param aType - SubService Type (TVIMPSTEnums::SubServiceType) defined in tvimpstenums.h + * @return - Ptr to the SubService - Value can even be NULL + */ + virtual MVIMPSTEngineSubService* SubService(TVIMPSTEnums::SubServiceType aType) const= 0; + + + /** + * Get the Ptr to the ExtentionFeatures given the Type of the Extention Features + * This API returns a Generalised ExtentionFeatures Class MVIMPSTEngineExtentionFeatures + * Ownership of the ExtentionFeatures is not Transferred to the Caller + * The Caller can use this (MVIMPSTEngineExtentionFeatures*) ptr to typecast to appropriate SubService Interface + * Usage : MVIMPSTEngineSearchMgrExtention* searchMgr = + * dynamic_cast + * (iEngine.ExtentionFeatures(TVIMPSTEnums::ESearch)); + * + * + * if (searchMgr) + * { + * iError = searchMgr->SearchContactsL( iKeyDataArray ); + * } + * @param aType - Extention Feature Type (TVIMPSTEnums::ExtentionType) defined in tvimpstenums.h + * @return - Ptr to the ExtentionFeatures - Value can even be NULL + */ + virtual MVIMPSTEngineExtentionFeatures* ExtentionFeatures(TVIMPSTEnums::ExtentionType aType) const = 0; + + /** + * gets the UserName for the Service + * @return HBufC* - Ownership is transferred to the caller + * This API allocates memory for the UserName and transfers the Ownership to the Caller + */ + virtual HBufC* GetOwnUserIdFromCChOrStorageL() const = 0; + + + /** + * API used to login to the Service + */ + virtual TInt Login() = 0; + + /** + * API used to Logout to the Service + */ + virtual void LogoutL() = 0; + /** + * + * @return True if password is present in the settings else returns false + * + */ + virtual TBool IsPasswordAvailableL() = 0; + + /** + * Gets the default domain name for given service + * @param aDefaultDomainName, Domain Name. + * The caller of the this function has to assign required memory for aDefaultDomainName + * aDefaultDomainName will be filled with the deafault domain name by this API + */ + virtual void DefaultDomainNameL( TDes& aDefaultDomainName ) const = 0; + + + /** + * Change Connection + * Shows CCHUI dialog for changing the Network Connection for this service + * ECchUiDialogTypeChangeConnection + * @return Error Code + */ + virtual TInt ChangeConnectionL() = 0; + + /** + * IsBlockSupportedL + * @returns ETrue if block/unblock is supported + * else EFalse + */ + virtual TBool IsBlockSupportedL() = 0; + + /** + * Inform storage that data base need to be deleted. + */ + virtual void DeleteDataBaseL() = 0; + + /** + * used for returning MVIMPSTEnginePresenceSubService pointer. + * @return MVIMPSTEnginePresenceSubService istance pointer + */ + virtual MVIMPSTEnginePresenceSubService* GetPreseceSubService() = 0; + + /** + *Fetch the blocked list from server.. + */ + virtual void FetchBlockedListL() = 0; + + + + /** + * See MVIMPSTEngine + * + */ + virtual void RetriveContextIfCChEnabledL() = 0 ; + + + /** + * set function + * + */ + virtual void SetOwnUserIdIfChangedL(const TDesC& aUserId ) = 0 ; + + /** + *@param aOb,pointer of MVIMPSTEngineBlockedListFetchEventObserver, + * Notify that fetch of blocked list has been completed.. + */ + virtual void RegisterBlockedListObserver( + MVIMPSTEngineBlockedListFetchEventObserver* aOb) = 0; + /** + * Destructor + */ + virtual ~MVIMPSTEngine() + {} + + + }; + +#endif //MVIMPSTENGINE_H + +