tcpiputils/dhcp/include/DHCPStateMachine.h
branchRCL_3
changeset 75 c1029e558ef5
parent 58 8d540f55e491
equal deleted inserted replaced
67:bb2423252ea3 75:c1029e558ef5
    22 #ifndef DHCPSTATEMACHINE_H
    22 #ifndef DHCPSTATEMACHINE_H
    23 #define DHCPSTATEMACHINE_H
    23 #define DHCPSTATEMACHINE_H
    24 
    24 
    25 #include <e32base.h>
    25 #include <e32base.h>
    26 #include <comms-infras/statemachine.h>
    26 #include <comms-infras/statemachine.h>
    27 #include <es_ini.h>
       
    28 
    27 
    29 #include "MsgSender.h"
    28 #include "MsgSender.h"
    30 #include "DHCP_Std.h"
    29 #include "DHCP_Std.h"
    31 
    30 
    32 class CExpireTimer;
    31 class CExpireTimer;
   195    virtual void DoCancel();
   194    virtual void DoCancel();
   196 
   195 
   197    virtual void AssembleClientIDsL() = 0;
   196    virtual void AssembleClientIDsL() = 0;
   198    void FetchHWAddress();
   197    void FetchHWAddress();
   199 
   198 
   200    void ConfigureInterfaceL( const TSoInetInterfaceInfoExtnDnsSuffix& aInterfaceInfo );
   199    void ConfigureInterfaceL( const TSoInet6InterfaceInfo& aInterfaceInfo );
   201    virtual void PrepareToSendL(CDHCPStateMachine::EAddressType aEAddressType) = 0;
   200    virtual void PrepareToSendL(CDHCPStateMachine::EAddressType aEAddressType) = 0;
   202 #ifdef SYMBIAN_NETWORKING_DHCPSERVER   
   201 #ifdef SYMBIAN_NETWORKING_DHCPSERVER   
   203    	virtual void PrepareToSendServerMsgL(CDHCPStateMachine::EAddressType aEAddressType) = 0;
   202    	virtual void PrepareToSendServerMsgL(CDHCPStateMachine::EAddressType aEAddressType) = 0;
   204 	void AddScopeToClientAddrL(TInetAddr& addr);
   203 	void AddScopeToClientAddrL(TInetAddr& addr);
   205 #endif // SYMBIAN_NETWORKING_DHCPSERVER	
   204 #endif // SYMBIAN_NETWORKING_DHCPSERVER	
   273 	TInetAddr iNameServer2;
   272 	TInetAddr iNameServer2;
   274 
   273 
   275 	//DNS client names
   274 	//DNS client names
   276 	HBufC8*   iHostName;
   275 	HBufC8*   iHostName;
   277 	HBufC8*   iDomainName;
   276 	HBufC8*   iDomainName;
   278 	
   277 
   279 	TUint32 iRenewalTimeT1;			// number of seconds after iStartedAquisitionAt when we send a renew request
   278 	TUint32 iRenewalTimeT1;			// number of seconds after iStartedAquisitionAt when we send a renew request
   280 	TUint32 iRebindTimeT2;			// number of seconds after iStartedAquisitionAt when we send a rebind request (only if any renew fails)
   279 	TUint32 iRebindTimeT2;			// number of seconds after iStartedAquisitionAt when we send a rebind request (only if any renew fails)
   281 	TUint32 iLeaseTime;				// number of seconds after iStartedAquisitionAt when the lease expires
   280 	TUint32 iLeaseTime;				// number of seconds after iStartedAquisitionAt when the lease expires
   282 
   281 
   283 	TBool iReceiving;				//ETrue if we are waiting to receive data from socket
   282 	TBool iReceiving;				//ETrue if we are waiting to receive data from socket
   298 #endif // 	SYMBIAN_NETWORKING_DHCPSERVER	
   297 #endif // 	SYMBIAN_NETWORKING_DHCPSERVER	
   299 #ifdef SYMBIAN_NETWORKING_DHCP_MSG_HEADERS
   298 #ifdef SYMBIAN_NETWORKING_DHCP_MSG_HEADERS
   300 public:	
   299 public:	
   301 	TBool iDhcpInformAckPending;
   300 	TBool iDhcpInformAckPending;
   302 	RBuf8 iSavedExtraParameters;
   301 	RBuf8 iSavedExtraParameters;
   303 #endif //SYMBIAN_NETWORKING_DHCP_MSG_HEADERS
   302 #endif //SYMBIAN_NETWORKING_DHCP_MSG_HEADERS	
   304 protected:
       
   305 	RInetSuffixList iSuffixList;  // Structure to read domain search list from option data returned by dhcp server
       
   306 	CESockIniData *iConfig; // Buffer for dhcp.ini content - part of esock framework for ini file parsing
       
   307 private:
       
   308     TBool LoadConfigurationFile(); // Load dhcp.ini file to a buffer
       
   309     void UnloadConfigurationFile(); // Destruct allocated space for dhcp ini content
       
   310 protected:
       
   311     TInt IniRead(const TDesC& aOptionName, TDes8& aOptionValue); // Ini parser
       
   312 	};
   303 	};
   313 	
   304 	
   314 #ifdef SYMBIAN_NETWORKING_DHCPSERVER
   305 #ifdef SYMBIAN_NETWORKING_DHCPSERVER
   315 #ifndef SYMBIAN_NETWORKING_ADDRESS_PROVISION
   306 #ifndef SYMBIAN_NETWORKING_ADDRESS_PROVISION
   316 inline CDHCPStateMachine::CDHCPStateMachine(RSocketServ& aEsock, RConnection& aConnection, const TName& aInterfaceName,TBool aDHCPServerImpl):
   307 inline CDHCPStateMachine::CDHCPStateMachine(RSocketServ& aEsock, RConnection& aConnection, const TName& aInterfaceName,TBool aDHCPServerImpl):