diff -r 000000000000 -r 4e1aa6a622a0 accessoryservices/accessoryserver/inc/Common/AccPolicyDB.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/accessoryserver/inc/Common/AccPolicyDB.h Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,204 @@ +/* +* 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: This class defines the Accessory Policy DB interface. It is +* used by the Accessory Policy to access the database. +* +*/ + + +#ifndef ACCPOLICYDB_H +#define ACCPOLICYDB_H + +// INCLUDES +#include "AccClientServerMessages.h" +#include "AccPolCapabilityStorage.h" +#include "AccPolicyDBNames.h" +#include //TAccPolValueType & TAccPolValueLocation +#include +#include // RDbStoreDatabase +#include // RFs +#include // CFileStore + +// CONSTANTS +const TInt KMaxBufLength = 256; + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// CLASS DECLARATION +/** +* Policy DB interface. +* +* @lib AccPolicyDB.lib +* @since S60 3.1 +*/ +class CAccPolicyDB : public CBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + IMPORT_C static CAccPolicyDB* NewL(); + + /** + * Destructor. + */ + IMPORT_C virtual ~CAccPolicyDB(); + + public: // New functions + + /** + * OpenDBL Open DB connection. + * + * @since S60 3.1. + * @return void. + */ + IMPORT_C void OpenDBL(); + + /** + * CloseDB Close DB connection. + * + * @since S60 3.1. + * @return void. + */ + IMPORT_C void CloseDB(); + + /** + * Search if DeviceID has a mapped GIDInteger defined in DB. + * + * @since S60 3.1. + * @param aDeviceID Device ID. + * @param aGIDInt On succesfull return contains the GID integer value. + * @return void. + */ + IMPORT_C void FindGIDIntL( const TUint64& aDeviceID, TDes8& aGIDInt ); + + + /** + * Search if DeviceID has a mapped GIDInteger defined in DB. + * + * @since S60 3.1. + * @param aDeviceID Device ID. + * @param aGIDInt On succesfull return contains the GID integer value. + * @return void. + */ + IMPORT_C void FindGIDIntL( const TUint64& aDeviceID, TDes8& aGIDInt, TAccGIDtype aType ); + + /** + * Read all critical capabilities from DB. + * + * @since S60 3.1 + * @return void + */ + IMPORT_C TInt ReadAllCriticalCapabilitiesL(); + + /** + * Get the next critical capability read with ReadAllCriticalCapabilitiesL(). + * + * @since S60 3.1 + * @param aName On succesfull return, contains the next critical capability. + * @param aValue On succesfull return, contains the value of next critical capability. + * @return void + */ + IMPORT_C void GetNextCriticalCapabilityL( TUint32& aName, TInt32& aValue ); + + /** + * + * + * @since S60 3.1 + * @param + * @param + * @return void + */ + IMPORT_C TInt FilterGIDByTypeL( TAccGIDtype aType ); + + /** + * + * + * @since S60 3.1 + * @param + * @param + * @return void + */ + IMPORT_C void GetNextGIDL( TUint64& aHWDeviceID, TDes8& aGIDInt ); + + + /** + * + * + * @since S60 3.1 + * @param + * @param + * @param aGetAllDeviceTypes If Ture, all configured device types are + * returned (i.e. all selection indexes). + * @return void + */ + IMPORT_C void GetSelectionsL( TUint32 ruleIndex, + TUint32& aSelectionListBitMask, + TBool aGetAllDeviceTypes = EFalse ); + + + public: // Functions from base classes + + protected: // New functions + + protected: // Functions from base classes + + private: + + /** + * C++ default constructor. + */ + CAccPolicyDB(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + public: // Data + + protected: // Data + + private: // Data + + // For use of iFileStore + RFs iFsSession; + + // For database operations + RDbNamedDatabase iDb; + + // Buffer for SQL clauses + TBuf iSQL; + + // View instance for rowsets from an SQL query + RDbView iView; + + public: // Friend classes + + protected: // Friend classes + + private: // Friend classes + + }; + +#endif// ACCPOLICYDB_H + +// End of File