zeroconf/server/inc/mdnsserversession.h
changeset 14 da856f45b798
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/zeroconf/server/inc/mdnsserversession.h	Thu Jun 24 19:09:47 2010 +0530
@@ -0,0 +1,86 @@
+// 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:
+// mdnsserversession.h
+// 
+//
+/**
+@file
+@internalTechnology
+*/
+
+#ifndef __MDNSSERVERSESSION_H__
+#define __MDNSSERVERSESSION_H__
+
+#include <e32base.h>
+#include <pnp/pnpparameterbundle.h>
+#include <mdns/mdnsparamset.h>
+#include <mdns/ccacheentry.h>
+
+//User Include
+#include "cmessagehandler.h"
+#include "mdnsdebug.h"
+class CMdnsServer;
+
+
+class CMdnsServerSession : public CSession2
+	{
+public:
+	static CMdnsServerSession* NewL(const CMdnsServer& aServer);
+	static CMdnsServerSession* NewLC(const CMdnsServer& aServer);
+	
+	void ServiceL(const RMessage2& aMessage);
+	void ServiceError(const RMessage2& aMessage, TInt aError);
+	TInt OutStandQueryClientHandle()const;
+	void SendResponseL();
+	//void HandleNameChangeL();
+	void HandleServiceNameConflictL(const RBuf8& aName,TInt aError);
+	void ServiceQueryL(const RMessage2& aMessage);
+	void PublishL(const RMessage2& aMessage);
+	void NewServiceL(const RArray<RBuf8>& aName);
+	TInt SessionId();
+	~CMdnsServerSession();
+	
+private:
+	CMdnsServerSession(const CMdnsServer& aServer);
+	void ConstructL();
+	TInt CountResources();
+	void RegisterNotifyL(const RMessage2& aMessage);
+	void ServerVersionL(const RMessage2& aMessage);
+	void StopNotifyL (const RMessage2& aMessage);
+	void CleanUp();
+	void CreateAnyQueryResponseL(CCacheEntry& aEntry);
+private:
+	CMdnsServer& iServer;
+	RMessage2 iClientQuery;
+	RMessage2 iPublishRequest;
+	RMessage2 iNotifyMessageRequest;
+	RPnPParameterBundle iQueryBundle;
+	RPnPParameterBundle iResponseBundle;
+	RPnPParameterBundle iPublishBundle;
+	RArray<RBuf8>       iRegisterNotifyArray;
+	
+	//TInt iNextSubsessionId;
+	TInt iSessionId;
+	TBool iIsNotifyRequested;
+	
+	TInt iLastTypeSent;
+	
+	TInt iLastServiceSent;
+	/**
+	*FLOGGER debug trace member variable.
+	*/
+	__FLOG_DECLARATION_MEMBER_MUTABLE;
+	};
+
+#endif /* __MDNSSERVERSESSION_H__ */