diff -r 000000000000 -r ff3b6d0fd310 phonesrv_plat/cenrep_database_api/inc/cenrepdatabaseproperty.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonesrv_plat/cenrep_database_api/inc/cenrepdatabaseproperty.h Tue Feb 02 01:11:09 2010 +0200 @@ -0,0 +1,154 @@ +/* +* Copyright (c) 2008-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: Header file of central repository database property class +* +*/ + + +#ifndef C_CENREPDATABASEPROPERTY_H +#define C_CENREPDATABASEPROPERTY_H + +#include + +/** + * central repository property class + * + * This class represent one property in central repository + * + * @lib cenrepdatabase.lib + * @since S60 V3.2 + */ +NONSHARABLE_CLASS( CCenRepDatabaseProperty ): public CBase + { + public: // Constructor and destructor + + /** + * Two-phased constructor. + */ + IMPORT_C static CCenRepDatabaseProperty* NewL(); + + /** + * Two-phased constructor. + */ + IMPORT_C static CCenRepDatabaseProperty* NewLC(); + + /** + * Destructors. + */ + IMPORT_C virtual ~CCenRepDatabaseProperty(); + + public: // member functions + /** + * Returns the name of this property + * + * @since S60 V3.2 + * @return Name of property + */ + IMPORT_C TUint32 GetName() const; + + /** + * Sets the name for this property + * + * @since S60 V3.2 + * @param aPropertyname new property name + */ + IMPORT_C void SetName( TUint32 aPropertyname ); + + /** + * Returns value of property + * + * @since S60 V3.2 + * @param aValue on return, TInt value + * @return Error code + */ + IMPORT_C TInt GetValue( TInt& aValue ) const; + + /** + * Sets value of property. Value must match to datatype. + * + * @since S60 V3.2 + * @param aValue new TInt value to be set + * @return Error code + */ + IMPORT_C TInt SetValue( TInt aValue ); + + /** + * Returns value of property + * + * @since S60 V3.2 + * @param aValue on return, descriptor value + * @return Error code + */ + IMPORT_C const TDesC& GetDesValue() const; + + /** + * Sets the value of property. Value must match to datatype. + * + * @since S60 V3.2 + * @param aValue new descriptor + * @return Error code + */ + IMPORT_C TInt SetValue( const TDesC& aValue ); + + + /** + * Compares data of this property to another. + * + * @since S60 V3.2 + * @param aProperty property to be compared + * @return ETrue if properties have same data + */ + IMPORT_C TBool CCenRepDatabaseProperty::operator==( + const CCenRepDatabaseProperty& aProperty ) const; + + private: + + /** + * C++ default constructor. + */ + CCenRepDatabaseProperty(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: // data + + /** + * Descriptor of property value + * Own. + */ + RBuf iPropertyValue; + + /** + * Name of property + */ + TUint32 iPropertyName; + + + private: // For testing + #ifdef TEST_EUNIT + friend class UT_CCenRepDatabaseProperty; + #endif + + }; + +typedef RPointerArray RIpAppPropArray; +typedef RArray RKeyArray; + +const TInt KCenRepMaxDesLength = 512; + + +#endif // C_CENREPDATABASEPROPERTY_H