tcpiputils/dhcp/include/DHCPIP4States.h
changeset 0 af10295192d8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tcpiputils/dhcp/include/DHCPIP4States.h	Tue Jan 26 15:23:49 2010 +0200
@@ -0,0 +1,218 @@
+// Copyright (c) 2004-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:
+// The DHCPv4 States header file
+// 
+//
+
+/**
+ @file DHCPIP4States.h
+*/
+
+#ifndef __DHCPIP4STATES_H__
+#define __DHCPIP4STATES_H__
+
+#include "DHCPStates.h"
+#include "DHCPIP4StateMachine.h"
+
+class CDHCPIP4Init : public CDHCPAddressAcquisition
+	{
+public:
+	CDHCPIP4Init(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPAddressAcquisition(aDHCPIPv4)
+		{
+		}
+	};
+
+class CDHCPIP4Reboot : public CDHCPRebootConfirm
+	{
+public:
+	CDHCPIP4Reboot(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPRebootConfirm(aDHCPIPv4)
+		{
+		}
+	};
+
+class CDHCPIP4Inform : public CDHCPInformationConfig
+	{
+public:
+	CDHCPIP4Inform(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPInformationConfig(aDHCPIPv4)
+		{
+		}
+	};
+
+class CDHCPIP4Select : public CDHCPSelect
+	{
+public:
+	CDHCPIP4Select(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPSelect(aDHCPIPv4)
+		{
+		}
+	
+   virtual CAsynchEvent* ProcessL(TRequestStatus& aStatus);
+
+   CDHCPIP4StateMachine& DHCPIPv4()
+		{
+		return static_cast<CDHCPIP4StateMachine&>(*iStateMachine);
+		}
+	};
+
+class CDHCPIP4Request : public CDHCPRequest
+	{
+public:
+	CDHCPIP4Request(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPRequest(aDHCPIPv4)
+		{
+		}
+	};
+
+class CDHCPIP4WaitForDAD : public CDHCPWaitForDADBind
+	{
+public:
+	CDHCPIP4WaitForDAD(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPWaitForDADBind(aDHCPIPv4)
+		{
+		}
+	virtual void TimerExpired();
+	};
+
+class CDHCPIP4Renew : public CDHCPRenew
+	{
+public:
+	CDHCPIP4Renew(CDHCPIP4StateMachine& aDHCPIPv4) : CDHCPRenew(aDHCPIPv4)
+		{
+		}
+	};
+
+class CDHCPIP4Rebind : public CDHCPRebind
+	{
+public:
+	CDHCPIP4Rebind(CDHCPIP4StateMachine& aDHCPIPv4) : CDHCPRebind(aDHCPIPv4)
+		{
+		}
+	};
+
+class CDHCPIP4Release : public CDHCPRelease
+	{
+public:
+	CDHCPIP4Release(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPRelease(aDHCPIPv4)
+		{
+		}
+	};
+
+class CDHCPIP4Decline : public CDHCPDecline
+	{
+public:
+	CDHCPIP4Decline(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPDecline(aDHCPIPv4)
+		{
+		}
+	};
+
+#ifdef SYMBIAN_NETWORKING_DHCPSERVER
+class CDHCPIP4WaitForClientMsgs : public CDHCPWaitForClientMsgs
+	{
+public:
+	CDHCPIP4WaitForClientMsgs(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPWaitForClientMsgs(aDHCPIPv4)
+		{
+		}
+	};	
+
+// To implement a timer for server socket to bind with server IP address
+class CDHCPIP4BindServer : public CDHCPBindServer
+	{
+public:
+	CDHCPIP4BindServer(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPBindServer(aDHCPIPv4)
+		{
+		}
+	virtual void TimerExpired();	
+	};
+	
+class CDHCPIP4HandleClientMsgs : public CDHCPHandleClientMsgs
+	{
+public:
+	CDHCPIP4HandleClientMsgs(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPHandleClientMsgs(aDHCPIPv4)
+		{
+		}
+	virtual CAsynchEvent* ProcessL(TRequestStatus& aStatus);	
+		
+	CDHCPIP4StateMachine& DHCPIPv4()
+		{
+		return static_cast<CDHCPIP4StateMachine&>(*iStateMachine);
+		}	
+  	};
+	
+class CDHCPIP4ProvideOffer : public CDHCPProvideOffer
+	{
+public:
+	CDHCPIP4ProvideOffer(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPProvideOffer(aDHCPIPv4)
+		{
+		}
+	};
+
+class CDHCPIP4HandleDecline : public CDHCPHandleDecline
+	{
+public:
+	CDHCPIP4HandleDecline(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPHandleDecline(aDHCPIPv4)
+		{
+		}
+	};
+
+class CDHCPIP4HandleRelease : public CDHCPHandleRelease
+	{
+public:
+	CDHCPIP4HandleRelease(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPHandleRelease(aDHCPIPv4)
+		{
+		}
+	};
+	
+class CDHCPIP4SendRequestResponse : public CDHCPSendRequestResponse
+	{
+public:
+	CDHCPIP4SendRequestResponse(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPSendRequestResponse(aDHCPIPv4)
+		{
+		}
+	virtual CAsynchEvent* ProcessL(TRequestStatus& aStatus);	
+		
+	CDHCPIP4StateMachine& DHCPIPv4()
+		{
+		return static_cast<CDHCPIP4StateMachine&>(*iStateMachine);
+		}	
+	};		
+		
+class CDHCPIP4SendInformResponse : public CDHCPSendInformResponse
+	{
+public:
+	CDHCPIP4SendInformResponse(CDHCPIP4StateMachine& aDHCPIPv4) :
+		CDHCPSendInformResponse(aDHCPIPv4)
+		{
+		}
+	virtual CAsynchEvent* ProcessL(TRequestStatus& aStatus);	
+		
+	CDHCPIP4StateMachine& DHCPIPv4()
+		{
+		return static_cast<CDHCPIP4StateMachine&>(*iStateMachine);
+		}	
+	};	
+#endif // SYMBIAN_NETWORKING_DHCPSERVER
+		
+#endif