diff -r 000000000000 -r 7f85d04be362 upnpmediaserver/contentdirectoryservice/inc/upnpelementbean.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/upnpmediaserver/contentdirectoryservice/inc/upnpelementbean.h Thu Dec 17 08:52:00 2009 +0200 @@ -0,0 +1,198 @@ +/** @file +* Copyright (c) 2005-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: Element table data handler +* +*/ + + + +#ifndef C_CUPNPELEMENTBEAN_H +#define C_CUPNPELEMENTBEAN_H + +// INCLUDES +#include "upnptablebean.h" +#include +#include + +class CUpnpElement; +class CUpnpObject; +class CUri8; + +// CLASS DECLARATION + +/** +* Stores the data of element table row. +* +* @lib AVContentDirectory.lib +* @since Series60 3.1 +*/ +class CUpnpElementBean: public CUpnpTableBean +{ +public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CUpnpElementBean* NewLC(); + + /** + * Two-phased constructor. + * @param aRowSet + */ + static CUpnpElementBean* NewLC(const RDbRowSet& aRowSet); + + + /** + * Destructor. + */ + virtual ~CUpnpElementBean(); + +public: // New functions + + CUpnpElement* AttachElmL(CUpnpObject* aElm); + /** + * Sets all values of the object value. + * @since Series S60 3.0 + * @param aRowSet + */ + void SetL(const RDbRowSet& aRowSet); + + /** + * Sets iElmId value. + * @since Series S60 3.0 + * @param aElId value of elm_id in the element table + */ + void SetElmId(TInt aElId); + + /** + * Sets iElmName value. + * @since Series S60 3.0 + * @param aElmName value of elm_name in the element table + */ + void SetElmNameL(const TDesC8& aElmName); + + /** + * Sets iElmHasAttribute value. + * @since Series S60 3.0 + * @param aElmHasAttribute value of elm_has_attribute in the element table + */ + void SetElmHasAttribute(TBool aElmHasAttribute); + + /** + * Sets iElmIsRequired value. + * @since Series S60 3.0 + * @param aElmIsRequired value of elm_is_required in the element table + */ + void SetElmIsRequired(TBool aElmIsRequired); + + /** + * Sets iElmValue value. + * @since Series S60 3.0 + * @param aElmValue value of elm_value in the element table + */ + void SetElmValueL(const RDbRowSet& aRowSet, const TInt aColNo); + void SetElmValueL(const TDesC8& aVal); + + /** + * Sets iElmObjId value. + * @since Series S60 3.0 + * @param aElmObjId value of elm_obj_id in the element table + */ + void SetElmObjId(TInt aElmObjId); + + /** + * Gets iElmId value. + * @since Series S60 3.0 + * @return Gets the value of iElmId + */ + TInt ElmId() const; + + /** + * Gets iElmName value. + * @since Series S60 3.0 + * @return Value of iElmName + */ + TDesC8& ElmName() const; + + /** + * Gets iElmHasAttribute value. + * @since Series S60 3.0 + * @return Gets the value of iElmHasAttribute + */ + TBool ElmHasAttribute() const; + + /** + * Gets iElmIsRequired value. + * @since Series S60 3.0 + * @return Gets the value of iElmIsRequired + */ + TBool ElmIsRequired() const; + + /** + * Gets iElmValue value. + * @since Series S60 3.0 + * @return Value of iElmValue + */ + TDesC8& ElmValue() const; + + /** + * Gets iElmObjId value. + * @since Series S60 3.0 + * @return Gets the value of iElmObjId + */ + TInt ElmObjId() const; + + /** + * Adds the whole element to the given TXmlEngElement. + * @param aElement a element to which the value will be attached + * @since Series S60 3.0 + */ + TXmlEngElement AttachElmL(TXmlEngElement aElement) const; + + +private: + + /** + * C++ default constructor. + */ + CUpnpElementBean(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + HBufC8* ValAsUriL() const; + +private: // Data + // Element Id + TInt iElmId; + // Element Name + HBufC8* iElmName; + // + TBool iElmHasAttribute; + // + TInt iElmObjId; + // + TBool iElmIsRequired; + // Element Value + HBufC8* iElmValue; +}; + +// inline functions +#include"upnpelementbean.inl" + +#endif // C_CUPNPELEMENTBEAN_H + +// End of File