servicediscoveryandcontrol/pnp/inc/cpnpservicepublisherbase.h
changeset 0 f5a58ecadc66
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/servicediscoveryandcontrol/pnp/inc/cpnpservicepublisherbase.h	Tue Feb 02 01:12:20 2010 +0200
@@ -0,0 +1,65 @@
+// 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 __CPNPSERVICEPUBLISHERBASE_H__
+#define __CPNPSERVICEPUBLISHERBASE_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 CPnPServicePublisherBase : public CBase
+	{
+public:
+	/** Static factory method */
+	static CPnPServicePublisherBase* NewL( TUint aTierId );
+    /**
+	Default Destructor
+	*/
+	IMPORT_C virtual ~CPnPServicePublisherBase();	
+	/** Second phase constructor */
+	virtual TInt Construct( TUint aTierId) = 0;
+	/**
+	Publishes service notifications. The technology specific service information
+	is packed in aServiceInfo.
+	@param Parameter bundle containing service information.		
+	*/
+	virtual void Publish ( const RPnPParameterBundle& aServiceInfo ) = 0;
+	/**
+	Sends service notification.
+    @param Parameter bundle contains the technology specific information.
+	*/
+	virtual void SendNotify ( const RPnPParameterBundle& aServiceInfo ) = 0;
+	/**	  
+	 It enables to send and receive messages.
+	 */
+	virtual CControlChannelBase* InitiateControlL () = 0;
+
+protected:
+    /**
+	Default constructor
+	*/
+	IMPORT_C CPnPServicePublisherBase();
+		
+private:
+	TUid iEcomDtorID;		
+	};
+	
+#endif // __CPNPSERVICEPUBLISHERBASE_H__ 
\ No newline at end of file