--- /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