diff -r 3104fc151679 -r 9a48e301e94b uiservicetab/vimpstengine/inc/cvimpstengineservicetablefetcher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiservicetab/vimpstengine/inc/cvimpstengineservicetablefetcher.h Wed Sep 01 12:33:36 2010 +0100 @@ -0,0 +1,263 @@ +/* +* 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: Class handling Service Provider Settings +* +*/ + + +#ifndef C_VIMPUSTENGINESERVICETABLEFETCHER_H +#define C_VIMPUSTENGINESERVICETABLEFETCHER_H + +// INCLUDES +#include +#include +#include "tvimpstenums.h" +#include +#include "cvimpstengine.h" + + +// FORWARD DECLARATIONS +class CSPSettings; +class CVIMPSTEngineServiceState; +class MVIMPSTEngine; +// CLASS DECLARATION + +/** + * + * This class implements the use of Service Provider Settings + * + * @lib vimpstengine.lib + * @since S60 5.0 + */ +NONSHARABLE_CLASS( CVIMPSTEngineServiceTableFetcher ) : public CBase + + { + //for testcases. + friend class T_VIMPSTEngineServiceTableFetcher; + + public: // Constructor and destructor + + /** + * Two-phased constructor. + * + * @return Ptr to CVIMPSTEngineServiceTableFetcher + */ + static CVIMPSTEngineServiceTableFetcher* NewL(); // from the service ui factory class implemented from xsp factory + + /** + * Two-phased constructor. + * + * @return Ptr to CVIMPSTEngineServiceTableFetcher + */ + static CVIMPSTEngineServiceTableFetcher* NewLC(); + + /** + * Standard C++ destructor + */ + ~CVIMPSTEngineServiceTableFetcher(); + + /** + * Gets Service Ids to array + * + * @since S60 5.0 + * @param aServiceIds array for service ids + * @return None + */ + void GetMasterServiceIdsL( + RArray& aServiceIds ); + + + /** + * Gets brand id + * + * @since S60 5.0 + * @param aServiceId service id + * @param aBrandId brand id + * @return None + */ + void GetBrandIdL( TUint32 aServiceId, TDes8& aBrandId ); + + + /** + * Returns property brand version + * + * @since S60 5.0 + * @param aServiceId, service id + * @return TInt, brand version + */ + TInt PropertyBrandVersionL( + TUint32 aServiceId ); + + /** + * Returns property brand language. + * + * @since S60 5.0 + * @param aServiceId, service id + * @return TLanguage, brand language + */ + TLanguage PropertyBrandLanguageL( + TUint32 aServiceId ); + + + + /** + * Gets contact store id by service id + * + * @since S60 5.0 + * @param aServiceId, service id + * @param aContactStoreId, service store id is copied to this parameter + * caller should allocate memory for this parameter + * @return None + */ + void GetContactStoreIdL( + TUint32 aServiceId, TDes& aContactStoreId ); + + /** + * Gets the name of the service + * + * @since S60 5.0 + * @param aServiceId, service id + * @param aServiceName, service name is copied to this parameter + * caller should allocate memory for this parameter + * @return None + */ + void GetServiceNameL( + TUint32 aServiceId, TDes& aServiceName ); + + + /** + * Finds a given property and returns the + * + * @since S60 5.0 + * @param aServiceId, service id + * @param TServicePropertyName, Property Name defined in SPSettings + * @return error - KErrNone if Property is found, else appropriate error + */ + TInt FindPropertyL( TUint32 aServiceId, + TServicePropertyName aPropertyName ); + + /** + * Returns ximp adapter uid. + * + * @since S60 5.0 + * @param aServiceId, service id + * @return TInt, uid of XIMP Adaptation + */ + TInt XimpAdapterUidL( TUint32 aServiceId ); + + /** + * Returns presence authorization request status + * ( auto accept or always ask) ie. how to handle + * incoming presence authorization requests. + * + * @since S60 5.0 + * @param aServiceId service id + * @return TVIMPSTPresenceRequestStatus, presence request status + */ + TVIMPSTEnums::TVIMPSTPresenceRequestStatus + PresenceRequestStatusL( TUint32 aServiceId ); + + + /** + * Handles notify change from SPS + * + * @since S60 5.0 + * @param aServiceId, service id + * @param aNewService - New Service (Not shown in the Tab) + * @param aEngine - engine instance for aServiceId. + * @return None + */ + void DoHandleNotifyChangeL( TServiceId aServiceId, TBool aNewService ,MVIMPSTEngine* aEngine); + + + /** + * Gets deafault Domain Name by service id + * + * @since S60 5.0 + * @param aServiceId, service id + * @param aDefaultDomainName, domain name is copied to this parameter + * caller should allocate memory for this parameter + * @return None + */ + void GetDefaultDomainNameL( TUint32 aServiceId, TDes& aDefaultDomainName ); + + + private: // Implementation + + /** + * Standard C++ constructor + */ + CVIMPSTEngineServiceTableFetcher(); + + /** + * Performs the 2nd phase of construction. + */ + void ConstructL(); + + /** + * Returns contact view uid for service identified by + * aServiceId. + * + * @since S60 5.0 + * @param aServiceId, service identifier + * @return Tuint32, contact view uid as int + */ + TUint32 ContactViewUidL( TUint32 aServiceId ); + + + /** + * Compresses view ids in sps. Gets all voip services + * and writes view to each one of them starting from + * base id. + * + * @since S60 5.0 + * @param aServiceId, service identifier + * @return TBool, ETrue if aServiceId was new service + */ + TBool CompressViewIdsL( TServiceId aServiceId = 0 ); + + /** + * Writes view id to service table + * + * @since S60 5.0 + * @param aServiceId service id + * @param aViewId view id + * @return None + */ + void WriteTabViewIdToServiceTableL( + TUint32 aServiceId, TUint aViewId ); + + /** + * Kills phonebook + * + * @since S60 5.0 + * @return None + */ + void ShutDownPhonebookL(); + + + private: // Data + + // Own: service provider settings + CSPSettings* iSettings; + + //bool flag keep track of if data base need to be deleted. + TBool iDeleteDataBase; + + + }; + +#endif // C_VIMPUICONTACTSEXTENSIONSPSHANDLER_H + +// End of file