diff -r 000000000000 -r af10295192d8 networkprotocols/dnsproxy/dnsproxyserver/inc/dnsproxysession.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/networkprotocols/dnsproxy/dnsproxyserver/inc/dnsproxysession.h Tue Jan 26 15:23:49 2010 +0200 @@ -0,0 +1,74 @@ +// Copyright (c) 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: +// dnsproxyserver.h +// Header file for the DNS Proxy server side implementation. +// + + + +/** + @file + @internalComponent +*/ + +#ifndef __DNSPROXYSERVSESS_H__ +#define __DNSPROXYSERVSESS_H__ + +#include +#include "dnsproxyengine.h" + +//forward declaration +class CDnsProxyEngine; + +/** +This class is the session handler class derived from Symbian CSession2. The class provides +command handlers for different client commands. +**/ +class CDnsProxyServerSession : public CSession2 + { + +public: + ~CDnsProxyServerSession(); + static CDnsProxyServerSession* NewL(); + virtual void ServiceL(const RMessage2& aMessage); + // Stops DNS Proxy engine and does a complete cleanup of resources. + void StopDNSEngine(); + +protected: + CDnsProxyServerSession(); + +private: + void DoServiceL(const RMessage2& aMessage); + // Starts DNS Proxy engine at the DNS Proxy startup + TInt StartDnsEngine(const RMessage2& aMessage); + // This method updates DNS Proxy database with hostname and IP address information. + TInt UpdateDatabaseL(const RMessage2& aMessage); + //Gets the domain name from the DHCP server + TInt UpdateDomainName(const RMessage2& aMessage); + // Sets Uplink information + TInt UpdateUplinkConfig(const RMessage2& aMessage); + // Remove entry from Db + TInt RemoveDbEntry(const RMessage2& aMessage); + void ConstructL(); + +private: + // An instance of CDnsProxy Engine which is a DNS Proxy control class. + CDnsProxyEngine* iProxyEngine; + // client side message. + RMessage2 iMessage; + //This flag is to check wether engine is started or not. + TBool iIsEngineStarted; + }; + +#endif //__DNSPROXYSERVSESS_H__ \ No newline at end of file