--- /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 <e32cmn.h>
+#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<CUPnPAction> iActionList;
+ RPointerArray<CUPnPStateVariable> 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<CUPnPArgument> 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<RBuf8> 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_*/