servicediscoveryandcontrol/pnp/inc/cpnpservicediscoverybase.h
changeset 0 f5a58ecadc66
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/servicediscoveryandcontrol/pnp/inc/cpnpservicediscoverybase.h	Tue Feb 02 01:12:20 2010 +0200
@@ -0,0 +1,83 @@
+// 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 __CPNPSERVICEDISCOVERYBASE_H__
+#define __CPNPSERVICEDISCOVERYBASE_H__
+
+#include <pnp/pnp.h>
+
+class RPnPParameterBundle;
+class CControlChannelBase;
+
+/** This class acts as an abstract base class which technology specific information need to implement
+    @publishedPartner
+    @prototype
+ */
+class CPnPServiceDiscoveryBase : public CBase
+	{
+public:
+	/** Static factory method */
+	static CPnPServiceDiscoveryBase* NewL( TUint aTierId ); 	
+    /**
+	Default Destructor
+	*/ 
+	IMPORT_C virtual ~CPnPServiceDiscoveryBase();
+	/** Second phase constructor */
+	virtual TInt Construct( TUint aTierId) = 0;
+	/**
+	Issues a discovery request. The technology specific discovery information is packed
+	in aServiceInfo parameter.
+	@param aServiceInfo Parameter bundle contains the discovery information.
+	*/	
+	virtual void Discover ( const RPnPParameterBundle& aServiceInfo ) = 0;
+	/**
+	Retrieves the description of the service. The technology specific description information is packed
+	in aServiceInfo parameter.
+	@param Parameter bundle contains the information about the service.
+	*/
+	virtual void Describe ( const RPnPParameterBundle& aServiceInfo ) = 0;
+	/**
+	Subscribes for event notifications to the service .
+	The technology specific description information is packed in aServiceInfo parameter.
+	@param Parameter bundle contains the information about the service.	
+	*/
+	virtual void Subscribe ( const RPnPParameterBundle& aServiceInfo ) = 0;
+	/**
+	Registers for events of service. The technology specific registration information
+	is packed in aServiceInfo.
+	@param Parameter bundle contains the register information.
+	*/
+	virtual void RegisterNotify ( const RPnPParameterBundle& aServiceInfo ) = 0;
+	/**
+	Issues a cancel request.
+	@param Parameter bundle contains the cancel request.
+	*/
+	virtual void Cancel ( const RPnPParameterBundle& aServiceInfo ) = 0;
+	/**
+	It enables to send and receive messages.
+	*/
+	virtual CControlChannelBase* InitiateControlL ( const TDesC8& aUri ) = 0;
+	
+protected:  
+    /**
+	Default constructor
+	*/
+	IMPORT_C CPnPServiceDiscoveryBase();
+
+private:
+	TUid iEcomDtorID;
+	};
+
+#endif //__CPNPSERVICEDISCOVERYBASE_H__
\ No newline at end of file