diff -r 000000000000 -r f5a58ecadc66 servicediscoveryandcontrol/pnp/test/upnp/upnpdescription/inc/cpnpserviceparam.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/servicediscoveryandcontrol/pnp/test/upnp/upnpdescription/inc/cpnpserviceparam.h Tue Feb 02 01:12:20 2010 +0200 @@ -0,0 +1,189 @@ +// Copyright (c) 2008-2009 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: +// + +#ifndef __CPNPSERVICEPARAM_H_ +#define __CPNPSERVICEPARAM_H_ + +#include +#include "cupnpproperty.h" + +class CUPnPAction; +class CUPnPStateVariable; +class CUPnPArgument; +class CUPnPAllowedValue; + +/** +Container for action and service state objects + +@publishedPartner +@prototype */ + +class CUPnPServiceDescription: public CUPnPProperty + { + +public: + IMPORT_C static CUPnPServiceDescription* NewL(); + IMPORT_C ~CUPnPServiceDescription(); + + + inline void SetMinorNumberL(const TInt aValue); + inline const TInt MinorNumber () const; + + inline void SetMajorNumberL(const TInt aValue); + inline const TInt MajorNumber () const; + + inline void AppendToActionList(const CUPnPAction* aValue); + inline TInt CountOfActionList () const; + inline const CUPnPAction* AtActionList( TInt aIndex) const ; + + inline void AppendToServiceStateTable(const CUPnPStateVariable* aValue); + inline TInt CountOfServiceStateTable () const; + inline const CUPnPStateVariable* AtServiceStateTable(const TInt aIndex) const; + + TBool Validate(const RStringPool& aStringPool, const TStringTable& aStringTable ) const; +private : + + CUPnPServiceDescription(); + void ConstructL(); + +private : + TVersion iVersion; + RPointerArray iActionList; + RPointerArray iServiceStateTable; + }; + + +/* +Following class store the service action information. +*/ +class CUPnPAction: public CUPnPProperty + { + +public: + static CUPnPAction* NewL(); + ~CUPnPAction(); + + + inline void AppendL(const CUPnPArgument* aValue); + inline TInt Count () const; + inline CUPnPArgument* At(TInt aIndex) const; + + + TBool Validate(const RStringPool& aStringPool, const TStringTable& aStringTable ) const; + +private : + + CUPnPAction(); + void ConstructL(); + +private : + RPointerArray iArgumentList; + }; +/* +Following class store argument object information. + */ + +class CUPnPArgument: public CUPnPProperty + { + +public: + static CUPnPArgument* NewL(); + ~CUPnPArgument(); + TBool Validate(const RStringPool& aStringPool, const TStringTable& aStringTable ) const; + void SetRetVal( TBool aValue ); + TBool RetVal(); +private : + + CUPnPArgument(); + void ConstructL(); + TBool iRetVal; +private: + }; +/* + Following structure store state varibale information. +*/ +class CUPnPStateVariable: public CUPnPProperty + { + +public: + static CUPnPStateVariable* NewL(); + ~CUPnPStateVariable(); + + inline void SetAllowedValuesL( CUPnPAllowedValue *aValue); + inline const CUPnPAllowedValue* AllowedValues () const; + inline void SetAllowedValueType ( TBool aStatus ); + inline TBool AllowedValueType ( ) const ; + TBool Validate(const RStringPool& aStringPool, const TStringTable& aStringTable ) const; + +private : + CUPnPStateVariable(); + void ConstructL(); + TBool isValue; + CUPnPAllowedValue* iAllowedValue; + }; +/* + Following structure is the base class for allowed list or range objects. +*/ + +class CUPnPAllowedValue: public CUPnPProperty + { +public: + enum TAllowedValueType + { + EArgValueList, + EArgValueRange, + }; + TAllowedValueType iType; + + }; +/* + Following structure stores information about argument value list. +*/ +class CUPnPArgValueList: public CUPnPAllowedValue + { + +public: + static CUPnPArgValueList* NewL(); + ~CUPnPArgValueList(); + + inline void AppendL(const TDesC8& aValue); + inline TInt Count () const; + inline const TDesC8& At(const TInt aIndex) const; +private : + + CUPnPArgValueList(); + void ConstructL(); +private : + RArray iAllowedValueList; + }; + +/* + CUPnPValueRange stores the upnp argument value range. +*/ +class CUPnPValueRange: public CUPnPAllowedValue + { +public: + IMPORT_C static CUPnPValueRange* NewL(); + IMPORT_C ~CUPnPValueRange(); + +private : + + CUPnPValueRange(); + void ConstructL(); + + }; + +#include "cpnpserviceparam.inl" +#endif /*CPNPSERVICEPARAM_H_*/