diff -r 000000000000 -r ff3b6d0fd310 phonesrv_plat/ss_settings_api/inc/RCustomerServiceProfileCache.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonesrv_plat/ss_settings_api/inc/RCustomerServiceProfileCache.h Tue Feb 02 01:11:09 2010 +0200 @@ -0,0 +1,193 @@ +/* +* Copyright (c) 2002-2005 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: Customer service profile cache +* +*/ + + +#ifndef RCUSTOMERSERVICEPROFILECACHE_H +#define RCUSTOMERSERVICEPROFILECACHE_H + +// INCLUDES +#include +#include // RProperty. + + +// FORWARD DECLARATIONS +class RProperty; + +// CLASS DECLARATION + +/** +* Customer service profile cache +* @since 1.0 +* @lib SsSettings.lib +*/ +class RCustomerServiceProfileCache + { + public: // Constructor and destructor + IMPORT_C RCustomerServiceProfileCache(); + IMPORT_C ~RCustomerServiceProfileCache(); + + public: // New functions + //Settings categories + enum TSsGroups + { + ESsCspGroup1, // contains Call Offering, Call Restriction, + // Call Completion and Teleservices + ESsCspGroup2 // contains Value Added Services + }; + + /** + * Opens connections. Must be done before fetching any items. + * @return Error code. + */ + IMPORT_C TInt Open(); + + /** + * Closes connections. + */ + IMPORT_C void Close(); + + /** + * Get call completion flags from CSP. + * @param aParams Call completion parameters. + * @return Error code. + */ + IMPORT_C TInt CspCallCompletion( + RMobilePhone::TCspCallCompletion& aParams ); + + /** + * Get call offering flags from CSP. + * @param aParams Call offering parameters. + * @return Error code. + */ + IMPORT_C TInt CspCallOffering( + RMobilePhone::TCspCallOffering& aParams ); + + /** + * Get call restriction flags from CSP. + * @param aParams Call restriction parameters. + * @return Error code. + */ + IMPORT_C TInt CspCallRestriction( + RMobilePhone::TCspCallRestriction& aParams ); + + /** + * Get CPHS tele services flags from CSP. + * @param aParams Tele services parameters. + * @return Error code. + */ + IMPORT_C TInt CspCPHSTeleservices( + RMobilePhone::TCspCPHSTeleservices& aParams ); + + /** + * Handles refresh. + * @return Error code. + */ + IMPORT_C TInt HandleRefresh(); + + /** + * Get value added services flags from CSP. + * @since 1.2. + * @param aParams Value added services parameters. + * @return Error code. + */ + IMPORT_C TInt CspCPHSValueAddedServices( + RMobilePhone::TCspValueAdded& aParams ); + + /** + * Get tele services flags from CSP. + * @since 2.8. + * @param aParams Tele services parameters. + * @return Error code. + */ + IMPORT_C TInt CspTeleServices( + RMobilePhone::TCspTeleservices& aParams ); + + /** + * Get the changed CSP information after Refresh. + * @since 2.8. + * @param aChangedCsps The changed CSP fields, + * type RMobilePhone::TMobilePhoneCspFileV1Pckg. + * @param aNewValues The new values of CSP fields, + * type RMobilePhone::TMobilePhoneCspFileV1Pckg. + * @return Error code. KErrNone if successful. + */ + IMPORT_C TInt ChangedCspTable( + TDes8& aChangedCsps, + TDes8& aNewValues ); + + private: + + // Opens connections + void DoOpenL(); + + // Gets the values + TInt DoGetValues( TInt& aValue, TSsGroups aGroup ); + + // Reset the iOldCspFile. + void DoResetOldCspFile(); + + // Define and set the Publish and subscribe value. + TInt DefineAndSetValue( + TUid aCategory, + TUint aKey, + TInt aValue ); + + // Prohibit copy constructor if not deriving from CBase. + RCustomerServiceProfileCache( + const RCustomerServiceProfileCache& ); + // Prohibit assigment operator if not deriving from CBase. + RCustomerServiceProfileCache& operator= ( + const RCustomerServiceProfileCache& ); + + private: + + // Member data structure. + class TCspCacheData + { + public: + TCspCacheData(); + + // ETel connection. + RTelServer iEtel; + + // Provides client access to mobile phone functionality + // provided by TSY. + RMobilePhone iPhone; + + // Defines contents of the CSP (Customer Service Profile) + // on the SIM. + RMobilePhone::TMobilePhoneCspFileV1 iCspFile; + + // Packaged contents of the CSP (Customer Service Profile) + // on the SIM. + RMobilePhone::TMobilePhoneCspFileV1Pckg iCspFilePckg; + + // RProperty. + RProperty iProperty; + }; + + //Pointer to the above. + TCspCacheData* iData; + + // Defines the old content of the CSP (Customer Service Profile) on + // the SIM before refresh. + RMobilePhone::TMobilePhoneCspFileV1* iOldCspFile; + }; + +#endif // RCUSTOMERSERVICEPROFILECACHE_H + +// End of File