servicediscoveryandcontrol/pnp/test/upnp/upnpdescription/inc/cpnpdeviceparam.h
changeset 0 f5a58ecadc66
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/servicediscoveryandcontrol/pnp/test/upnp/upnpdescription/inc/cpnpdeviceparam.h	Tue Feb 02 01:12:20 2010 +0200
@@ -0,0 +1,148 @@
+// 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 __CPNPDEVICEPARAM_H_
+#define __CPNPDEVICEPARAM_H_
+
+#include <e32cmn.h>
+#include <e32base.h>
+#include "cupnpproperty.h"
+
+class CUPnPServiceInfo;
+class CUPnPIconInfo;
+class CUPnPDevice;
+
+/** 
+Container for device object. 
+
+@publishedPartner
+@prototype */
+
+class CUPnPDeviceDescription: public CUPnPProperty
+	{
+public:
+
+	IMPORT_C static CUPnPDeviceDescription* NewL();
+	IMPORT_C ~CUPnPDeviceDescription();
+
+    inline void SetDeviceObjectL( CUPnPDevice *aValue);
+    inline  CUPnPDevice* DeviceObject() const;
+
+    inline void SetMinorNumberL(const TInt aValue);
+    inline const TInt MinorNumber () const;
+
+    inline void SetMajorNumberL(const TInt aValue);
+    inline const TInt MajorNumber () const;
+	TBool Validate(const RStringPool& aStringPool, const TStringTable& aStringTable ) const;
+
+private :
+
+	CUPnPDeviceDescription();
+	void ConstructL();
+
+private :
+	TVersion 		iVersion;
+	CUPnPDevice	*iDeviceObj;
+
+	};
+
+
+/** 
+Describes a device object.
+Can contain embedded device, service and icon info
+
+@publishedPartner
+@prototype */
+
+class CUPnPDevice: public CUPnPProperty
+	{
+
+public:
+	IMPORT_C static CUPnPDevice* NewL();
+	IMPORT_C ~CUPnPDevice();
+
+    inline void AppendToEmbeddedDeviceInfoTableL(const CUPnPDevice* aValue);
+    inline TInt CountOfEmbeddedDeviceInfoTable () const;
+    inline CUPnPDevice* AtEmbeddedDeviceInfoTable(const TInt aIndex) const;
+    inline void DeleteEmbeddedDeviceInfoAtIndexL(const TInt aIndex);
+
+    inline void AppendToServiceInfoTableL(const CUPnPServiceInfo* aValue);
+    inline TInt CountOfServiceInfoTable () const;
+    inline CUPnPServiceInfo* AtServiceInfoTable(const TInt aIndex) const;
+    inline void DeleteServiceInfoAtIndexL(const TInt aIndex);
+
+    inline void AppendToIconInfoTableL(const CUPnPIconInfo* aValue);
+    inline TInt CountOfIconInfoTable () const;
+    inline CUPnPIconInfo* AtIconInfoTable(const TInt aIndex) const;
+    inline void SetDlna( TBool aValue);
+    inline TBool Dlna() const ;
+	TBool Validate(const RStringPool& aStringPool, const TStringTable& aStringTable );
+private :
+
+	CUPnPDevice();
+	void ConstructL();
+
+private :
+	TBool iHasDlnaTag;
+	RPointerArray<CUPnPDevice>			iEmbeddedDeviceInfo;
+	RPointerArray<CUPnPServiceInfo> 		iServiceInfo;
+	RPointerArray<CUPnPIconInfo> 			iIconInfo;
+	};
+
+
+/** 
+Following structure store service information.
+
+@publishedPartner
+@prototype */
+class CUPnPServiceInfo: public CUPnPProperty
+	{
+
+public:
+	IMPORT_C static CUPnPServiceInfo* NewL();
+	IMPORT_C ~CUPnPServiceInfo();
+	TBool Validate(const RStringPool& aStringPool, const TStringTable& aStringTable ) ;
+
+private :
+
+	CUPnPServiceInfo();
+	void ConstructL();
+
+private:
+	};
+
+/** 
+
+CUPnPIconInfo stores icon information.
+
+@publishedPartner
+@prototype */	
+	
+class CUPnPIconInfo: public CUPnPProperty
+	{
+
+public:
+	IMPORT_C static CUPnPIconInfo* NewL();
+	IMPORT_C ~CUPnPIconInfo();
+
+	TBool Validate(const RStringPool& aStringPool, const TStringTable& aStringTable ) ;
+private :
+
+	CUPnPIconInfo();
+	void ConstructL();
+	};
+
+#include "cpnpdeviceparam.inl"
+#endif /*CPNPDEVICEPARAM_H_*/