tcpiputils/dhcp/include/DHCPStateMachine.h
branchRCL_3
changeset 58 8d540f55e491
parent 57 abbed5a4b42a
child 75 c1029e558ef5
equal deleted inserted replaced
57:abbed5a4b42a 58:8d540f55e491
    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>
    27 
    28 
    28 #include "MsgSender.h"
    29 #include "MsgSender.h"
    29 #include "DHCP_Std.h"
    30 #include "DHCP_Std.h"
    30 
    31 
    31 class CExpireTimer;
    32 class CExpireTimer;
   194    virtual void DoCancel();
   195    virtual void DoCancel();
   195 
   196 
   196    virtual void AssembleClientIDsL() = 0;
   197    virtual void AssembleClientIDsL() = 0;
   197    void FetchHWAddress();
   198    void FetchHWAddress();
   198 
   199 
   199    void ConfigureInterfaceL( const TSoInet6InterfaceInfo& aInterfaceInfo );
   200    void ConfigureInterfaceL( const TSoInetInterfaceInfoExtnDnsSuffix& aInterfaceInfo );
   200    virtual void PrepareToSendL(CDHCPStateMachine::EAddressType aEAddressType) = 0;
   201    virtual void PrepareToSendL(CDHCPStateMachine::EAddressType aEAddressType) = 0;
   201 #ifdef SYMBIAN_NETWORKING_DHCPSERVER   
   202 #ifdef SYMBIAN_NETWORKING_DHCPSERVER   
   202    	virtual void PrepareToSendServerMsgL(CDHCPStateMachine::EAddressType aEAddressType) = 0;
   203    	virtual void PrepareToSendServerMsgL(CDHCPStateMachine::EAddressType aEAddressType) = 0;
   203 	void AddScopeToClientAddrL(TInetAddr& addr);
   204 	void AddScopeToClientAddrL(TInetAddr& addr);
   204 #endif // SYMBIAN_NETWORKING_DHCPSERVER	
   205 #endif // SYMBIAN_NETWORKING_DHCPSERVER	
   272 	TInetAddr iNameServer2;
   273 	TInetAddr iNameServer2;
   273 
   274 
   274 	//DNS client names
   275 	//DNS client names
   275 	HBufC8*   iHostName;
   276 	HBufC8*   iHostName;
   276 	HBufC8*   iDomainName;
   277 	HBufC8*   iDomainName;
   277 
   278 	
   278 	TUint32 iRenewalTimeT1;			// number of seconds after iStartedAquisitionAt when we send a renew request
   279 	TUint32 iRenewalTimeT1;			// number of seconds after iStartedAquisitionAt when we send a renew request
   279 	TUint32 iRebindTimeT2;			// number of seconds after iStartedAquisitionAt when we send a rebind request (only if any renew fails)
   280 	TUint32 iRebindTimeT2;			// number of seconds after iStartedAquisitionAt when we send a rebind request (only if any renew fails)
   280 	TUint32 iLeaseTime;				// number of seconds after iStartedAquisitionAt when the lease expires
   281 	TUint32 iLeaseTime;				// number of seconds after iStartedAquisitionAt when the lease expires
   281 
   282 
   282 	TBool iReceiving;				//ETrue if we are waiting to receive data from socket
   283 	TBool iReceiving;				//ETrue if we are waiting to receive data from socket
   297 #endif // 	SYMBIAN_NETWORKING_DHCPSERVER	
   298 #endif // 	SYMBIAN_NETWORKING_DHCPSERVER	
   298 #ifdef SYMBIAN_NETWORKING_DHCP_MSG_HEADERS
   299 #ifdef SYMBIAN_NETWORKING_DHCP_MSG_HEADERS
   299 public:	
   300 public:	
   300 	TBool iDhcpInformAckPending;
   301 	TBool iDhcpInformAckPending;
   301 	RBuf8 iSavedExtraParameters;
   302 	RBuf8 iSavedExtraParameters;
   302 #endif //SYMBIAN_NETWORKING_DHCP_MSG_HEADERS	
   303 #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
   303 	};
   312 	};
   304 	
   313 	
   305 #ifdef SYMBIAN_NETWORKING_DHCPSERVER
   314 #ifdef SYMBIAN_NETWORKING_DHCPSERVER
   306 #ifndef SYMBIAN_NETWORKING_ADDRESS_PROVISION
   315 #ifndef SYMBIAN_NETWORKING_ADDRESS_PROVISION
   307 inline CDHCPStateMachine::CDHCPStateMachine(RSocketServ& aEsock, RConnection& aConnection, const TName& aInterfaceName,TBool aDHCPServerImpl):
   316 inline CDHCPStateMachine::CDHCPStateMachine(RSocketServ& aEsock, RConnection& aConnection, const TName& aInterfaceName,TBool aDHCPServerImpl):