linklayerprotocols/ethernetnif/INC/EthProvision.h
changeset 0 af10295192d8
equal deleted inserted replaced
-1:000000000000 0:af10295192d8
       
     1 /**
       
     2 * Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 * Header file declaring the Ethernet CFProtocol ECOM factories
       
    16 * 
       
    17 *
       
    18 */
       
    19 
       
    20 
       
    21 
       
    22 /**
       
    23  @file
       
    24 */
       
    25 
       
    26 #ifndef ETHPROVISION_H_INCLUDED_
       
    27 #define ETHPROVISION_H_INCLUDED_
       
    28 
       
    29 #include <in_sock.h>
       
    30 #include <comms-infras/metadata.h>
       
    31 
       
    32 
       
    33 /**
       
    34 Provisioning information for CLANLinkCommon.
       
    35 */
       
    36 class TLanLinkProvision : public Meta::SMetaData
       
    37 	{
       
    38 public:
       
    39 	enum 
       
    40 		{
       
    41 		EUid = 0x10281DDB, ETypeId = 1
       
    42 		};
       
    43 
       
    44 public:
       
    45 	inline const TDesC8& PacketDriverName() const;
       
    46 	inline const TDesC8& ConfigDaemonName() const;
       
    47 	inline const TDesC8& LddFilename() const;
       
    48 	inline const TDesC8& LddName() const;
       
    49 	inline const TDesC8& PddFilename() const;
       
    50 	inline const TDesC8& PddName() const;
       
    51 
       
    52 	inline void SetPacketDriverName(const TDesC&);
       
    53 	inline void SetConfigDaemonName(const TDesC&);
       
    54 	inline void SetLddFilename(const TDesC&);
       
    55 	inline void SetLddName(const TDesC&);
       
    56 	inline void SetPddFilename(const TDesC&);
       
    57 	inline void SetPddName(const TDesC&);
       
    58 	
       
    59 	enum { KMaxNameSize = 32 };
       
    60 
       
    61 private:
       
    62 	TBuf8<KMaxNameSize> iPacketDriverName;
       
    63 	TBuf8<KMaxNameSize> iConfigDaemonName;
       
    64 	TBuf8<KMaxNameSize> iLddFilename;
       
    65 	TBuf8<KMaxNameSize> iLddName;
       
    66 	TBuf8<KMaxNameSize> iPddFilename;
       
    67 	TBuf8<KMaxNameSize> iPddName;
       
    68 
       
    69 public:
       
    70 	DATA_VTABLE
       
    71 	};
       
    72 
       
    73 /**
       
    74 Provisioning information for CLanIp4Bearer
       
    75 */
       
    76 class TLanIp4Provision : public Meta::SMetaData
       
    77 	{
       
    78 public:
       
    79 	enum 
       
    80 		{
       
    81 		EUid = 0x10281DDB, ETypeId = 2
       
    82 		};
       
    83 
       
    84 public:
       
    85 	inline TUint32 LocalAddr() const;
       
    86   	inline TUint32 NetMask() const;
       
    87   	inline TUint32 BroadcastAddr() const;
       
    88   	inline TUint32 DefGateway() const;
       
    89   	inline TUint32 PrimaryDns() const;
       
    90   	inline TUint32 SecondaryDns() const;
       
    91   	inline TUint32 Order() const;
       
    92 
       
    93 	inline void SetLocalAddr(TUint32);
       
    94   	inline void SetNetMask(TUint32);
       
    95   	inline void SetBroadcastAddr(TUint32);
       
    96   	inline void SetDefGateway(TUint32);
       
    97   	inline void SetPrimaryDns(TUint32);
       
    98   	inline void SetSecondaryDns(TUint32);
       
    99   	inline void SetOrder(TUint32);
       
   100   	
       
   101 private:
       
   102   	TUint32	iLocalAddr;
       
   103   	TUint32	iNetMask;
       
   104   	TUint32	iBroadcastAddr;
       
   105   	TUint32	iDefGateway;
       
   106   	TUint32	iPrimaryDns;
       
   107   	TUint32	iSecondaryDns;
       
   108   	TUint32 iOrder;
       
   109 
       
   110 public:
       
   111 	DATA_VTABLE
       
   112 	};
       
   113 
       
   114 /**
       
   115 Provisioning information for CLanIp6Bearer
       
   116 */
       
   117 class TLanIp6Provision : public Meta::SMetaData
       
   118 	{
       
   119 public:
       
   120 	enum 
       
   121 		{
       
   122 		EUid = 0x10281DDB, ETypeId = 3
       
   123 		};
       
   124 
       
   125 public:
       
   126 	inline const TIp6Addr& PrimaryDns() const;
       
   127 	inline const TIp6Addr& SecondaryDns() const;
       
   128 	inline TUint32 Order() const;
       
   129 
       
   130 	inline void SetPrimaryDns(const TIp6Addr&);
       
   131 	inline void SetSecondaryDns(const TIp6Addr&);
       
   132   	inline void SetOrder(TUint32);
       
   133 	
       
   134 private:
       
   135 	TIp6Addr iPrimaryDns;
       
   136 	TIp6Addr iSecondaryDns;
       
   137 	TUint32 iOrder;
       
   138 	
       
   139 public:
       
   140 	DATA_VTABLE
       
   141 	};
       
   142 
       
   143 	
       
   144 // TLanLinkProvision inline functions
       
   145 
       
   146 inline const TDesC8& TLanLinkProvision::PacketDriverName() const { return iPacketDriverName; }	
       
   147 
       
   148 inline const TDesC8& TLanLinkProvision::ConfigDaemonName() const { return iConfigDaemonName; }
       
   149 
       
   150 inline const TDesC8& TLanLinkProvision::LddFilename() const	{ return iLddFilename; }
       
   151 
       
   152 inline const TDesC8& TLanLinkProvision::LddName() const	{ return iLddName; }
       
   153 
       
   154 inline const TDesC8& TLanLinkProvision::PddFilename() const { return iPddFilename; }
       
   155 
       
   156 inline const TDesC8& TLanLinkProvision::PddName() const	{ return iPddName; }
       
   157 	
       
   158 inline void TLanLinkProvision::SetPacketDriverName(const TDesC& aName)
       
   159 	{
       
   160 	iPacketDriverName.Copy(aName);
       
   161 	}
       
   162 	
       
   163 inline void TLanLinkProvision::SetConfigDaemonName(const TDesC& aName)
       
   164 	{
       
   165 	iConfigDaemonName.Copy(aName);
       
   166 	}
       
   167 	
       
   168 inline void TLanLinkProvision::SetLddFilename(const TDesC& aName)
       
   169 	{
       
   170 	iLddFilename.Copy(aName);
       
   171 	}
       
   172 	
       
   173 inline void TLanLinkProvision::SetLddName(const TDesC& aName)
       
   174 	{
       
   175 	iLddName.Copy(aName);
       
   176 	}
       
   177 	
       
   178 inline void TLanLinkProvision::SetPddFilename(const TDesC& aName)
       
   179 	{
       
   180 	iPddFilename.Copy(aName);
       
   181 	}
       
   182 	
       
   183 inline void TLanLinkProvision::SetPddName(const TDesC& aName)
       
   184 	{
       
   185 	iPddName.Copy(aName);
       
   186 	}
       
   187 
       
   188 // TLanIp4Provision inline functions
       
   189 
       
   190 inline TUint32 TLanIp4Provision::LocalAddr() const { return iLocalAddr; }
       
   191 	
       
   192 inline TUint32 TLanIp4Provision::NetMask() const { return iNetMask;	}
       
   193 	
       
   194 inline TUint32 TLanIp4Provision::BroadcastAddr() const { return iBroadcastAddr;	}
       
   195 	
       
   196 inline TUint32 TLanIp4Provision::DefGateway() const	{ return iDefGateway; }
       
   197 	
       
   198 inline TUint32 TLanIp4Provision::PrimaryDns() const	{ return iPrimaryDns; }
       
   199 	
       
   200 inline TUint32 TLanIp4Provision::SecondaryDns() const { return iSecondaryDns; }
       
   201 
       
   202 inline TUint32 TLanIp4Provision::Order() const { return iOrder; }
       
   203 
       
   204 inline void TLanIp4Provision::SetLocalAddr(TUint32 aLocalAddr) { iLocalAddr = aLocalAddr; }
       
   205 	
       
   206 inline void TLanIp4Provision::SetNetMask(TUint32 aNetMask) { iNetMask = aNetMask;	}
       
   207 	
       
   208 inline void TLanIp4Provision::SetBroadcastAddr(TUint32 aBroadcastAddr) { iBroadcastAddr = aBroadcastAddr;	}
       
   209 	
       
   210 inline void TLanIp4Provision::SetDefGateway(TUint32 aDefGateway) { iDefGateway = aDefGateway; }
       
   211 	
       
   212 inline void TLanIp4Provision::SetPrimaryDns(TUint32 aPrimaryDns) { iPrimaryDns = aPrimaryDns; }
       
   213 	
       
   214 inline void TLanIp4Provision::SetSecondaryDns(TUint32 aSecondaryDns) { iSecondaryDns = aSecondaryDns; }
       
   215 
       
   216 inline void TLanIp4Provision::SetOrder(const TUint32 aOrder) {  iOrder = aOrder; }
       
   217 
       
   218 
       
   219 // TLanIp6Provision inline functions
       
   220 
       
   221 inline const TIp6Addr& TLanIp6Provision::PrimaryDns() const	{ return iPrimaryDns; }
       
   222 	
       
   223 inline const TIp6Addr& TLanIp6Provision::SecondaryDns() const {	return iSecondaryDns; }
       
   224 
       
   225 inline TUint32 TLanIp6Provision::Order() const { return iOrder; }
       
   226 
       
   227 inline void TLanIp6Provision::SetPrimaryDns(const TIp6Addr& aPrimaryDns) { iPrimaryDns = aPrimaryDns; }
       
   228 	
       
   229 inline void TLanIp6Provision::SetSecondaryDns(const TIp6Addr& aSecondaryDns) { iSecondaryDns = aSecondaryDns; }
       
   230 
       
   231 inline void TLanIp6Provision::SetOrder(const TUint32 aOrder) { iOrder = aOrder; }
       
   232 
       
   233 #endif
       
   234 // ETHPROVISION_H_INCLUDED_