java_stubs/javaregistry/clientserver/client/inc/javaattributes.h
branchRCL_3
changeset 8 014f8c42e1d4
child 11 0fdfe802150c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/java_stubs/javaregistry/clientserver/client/inc/javaattributes.h	Mon Feb 22 17:55:27 2010 +0200
@@ -0,0 +1,208 @@
+/*
+* Copyright (c) 2006 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:  CJavaAttributes header file
+*
+*/
+
+
+#ifndef JAVAATTRIBUTES_H
+#define JAVAATTRIBUTES_H
+
+
+#include <e32base.h>
+#include <s32strm.h>
+
+#include "javaattribute.h"
+
+using namespace Java;
+
+namespace Java
+{
+namespace Manager
+{
+namespace Registry
+{
+class CJavaAttributes: public CBase
+{
+public:
+    /**
+     * Construct a new attributes array object
+     * @since S60 v5.0
+     *
+     *
+     * @return a new CJavaAttribute object
+     */
+    IMPORT_C static CJavaAttributes* NewL();
+
+    /**
+     * Construct a new attributes array object and fill array form serialized
+     * buffer
+     * @since S60 v5.0
+     *
+     * @param aBuffer with serialized CJavaAttributes object
+     * @return a new CJavaAttribute object
+     */
+    IMPORT_C static CJavaAttributes* NewL(TDesC8* aBuffer);
+
+    /**
+     * Construct a new attributes array object and leaves the object on
+     * the cleanupstack
+     * @since S60 v5.0
+     *
+     *
+     * @return a new CJavaAttribute object
+     */
+    IMPORT_C static CJavaAttributes* NewLC();
+
+    /**
+     * Construct a new attributes array object, fill array form serialized
+     * buffer and leaves the object on the cleanupstack
+     * @since S60 v5.0
+     *
+     *
+     * @param aBuffer with serialized CJavaAttributes object
+     * @return a new CJavaAttribute object
+     */
+    IMPORT_C static CJavaAttributes* NewLC(TDesC8* aBuffer);
+
+    /**
+     * Destructor deletes all attributes stored in iAttributes
+     * @since S60 v5.0
+     *
+     */
+    virtual ~CJavaAttributes();
+
+    /**
+     * Returns number of stored attributes
+     * @since S60 v5.0
+     *
+     *
+     * @return number of attributes in array
+     */
+    IMPORT_C TInt Count() const;
+
+    /**
+     * Returns reference to object with requested Attribute.
+     * @since S60 v5.0
+     *
+     *
+     * @param aName: name of attribute
+     * @return MJavaAttribute&; Ownership handed over
+     */
+    IMPORT_C const MJavaAttribute* Attribute(const TDesC& aName) const;
+
+    /**
+     * Returns copy of attributes storage
+     * @since S60 v5.0
+     *
+     *
+     * @return RPointerArray<MJavaAttributes>
+     */
+    IMPORT_C  const RPointerArray< MJavaAttribute >& Attributes() const;
+
+    /**
+     * Add attribute to array.
+     * @since S60 v5.0
+     *
+     *
+     * @param MJavaAttribute*, Ownership gotten.
+     * @return position of added attribute in array
+     */
+    IMPORT_C void AddAttributeL(MJavaAttribute* aAttribute);
+
+    /**
+     * Store attribute to MJavaAttribute and add to array.
+     * @since S60 v5.0
+     *
+     *
+     * @param aName
+     * @param aValue
+     * @param aTrusted
+     * @return position of added attribute in array
+     */
+    IMPORT_C void AddAttributeL(const TDesC& aName, const TDesC& aValue, TBool aTrusted);
+
+    /**
+    * Delete all attributes
+    *
+    * @since S60 v5.0
+    */
+    IMPORT_C void DeleteAttributes();
+
+    /**
+    * Returns the size needed for serialization.
+    * @since S60 v5.0
+    *
+    * @return size needed for serialization
+    * @see SerializedPropertiesL
+    */
+    IMPORT_C TInt Size() const;
+
+    /**
+     * Returns serialized CJavaAttributes object
+     * @since S60 v5.0
+     *
+     *
+     * @param aName
+     * @param aValue
+     * @param aTrusted
+     * @return HBufC8* with serialized object, ownership handed over.
+     */
+    IMPORT_C HBufC8* SerializedAttributesL() const;
+
+public:
+    /**
+    * Externalizes the attribete objects. It is used by "<<" operator.
+     * @since S60 v5.0
+     *
+    *
+    * @param aStream externalization happens in this stream
+    */
+    virtual void ExternalizeL(RWriteStream& aStream) const;
+
+    /**
+    * Internalizes the attribute objects. It is used by ">>" operator.
+    * @since S60 v5.0
+    *
+    * @param aStream internalization happens from this stream
+    */
+    virtual void InternalizeL(RReadStream& aStream);
+
+private:
+    /**
+     * ConstructL does deserialize attributes, if a buffer exists
+     * @since S60 v5.0
+     *
+     *
+     * @param aBuffer with serialized CJavaAttributes object
+     */
+    void ConstructL(TDesC8* aBuffer);
+
+private:
+    /**
+     * Array of atributes objects
+     * @since S60 v5.0
+     *
+     */
+    RPointerArray< MJavaAttribute > iAttributes;
+
+};
+} // namespace Registry
+} // namespace Manager
+} // namespace Java
+
+#endif // JAVAATTRIBUTES_H
+
+
+// End of File