wlan_bearer/wlannwif/inc/WlanProvision.h
changeset 0 c40eb8fe8501
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_bearer/wlannwif/inc/WlanProvision.h	Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,146 @@
+/*
+* Copyright (c) 2002-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:  Provisioning information for WLAN IP bearers
+*
+*/
+
+/*
+* %version: 5 %
+*/
+
+#ifndef __WLANPROVISION_H__
+#define __WLANPROVISION_H__
+
+
+#include <in_sock.h>
+#include <comms-infras/metadata.h>
+
+
+/**
+Provisioning information for CLanIp4Bearer
+*/
+class TLanIp4Provision : public Meta::SMetaData
+	{
+public:
+	enum 
+		{
+		EUid = 0x2001B2D3, ETypeId = 1
+		};
+
+public:
+	inline TUint32 LocalAddr() const;
+  	inline TUint32 NetMask() const;
+  	inline TUint32 BroadcastAddr() const;
+  	inline TUint32 DefGateway() const;
+  	inline TUint32 PrimaryDns() const;
+  	inline TUint32 SecondaryDns() const;
+  	inline TUint32 Order() const;
+
+	inline void SetLocalAddr(TUint32);
+  	inline void SetNetMask(TUint32);
+  	inline void SetBroadcastAddr(TUint32);
+  	inline void SetDefGateway(TUint32);
+  	inline void SetPrimaryDns(TUint32);
+  	inline void SetSecondaryDns(TUint32);
+  	inline void SetOrder(TUint32);
+  	
+private:
+  	TUint32	iLocalAddr;
+  	TUint32	iNetMask;
+  	TUint32	iBroadcastAddr;
+  	TUint32	iDefGateway;
+  	TUint32	iPrimaryDns;
+  	TUint32	iSecondaryDns;
+  	TUint32 iOrder;
+
+public:
+	DATA_VTABLE
+	};
+
+/**
+Provisioning information for CLanIp6Bearer
+*/
+class TLanIp6Provision : public Meta::SMetaData
+	{
+public:
+	enum 
+		{
+		EUid = 0x2001B2D3, ETypeId = 2
+		};
+
+public:
+	inline const TIp6Addr& PrimaryDns() const;
+	inline const TIp6Addr& SecondaryDns() const;
+	inline TUint32 Order() const;
+
+	inline void SetPrimaryDns(const TIp6Addr&);
+	inline void SetSecondaryDns(const TIp6Addr&);
+  	inline void SetOrder(TUint32);
+	
+private:
+	TIp6Addr iPrimaryDns;
+	TIp6Addr iSecondaryDns;
+	TUint32 iOrder;
+	
+public:
+	DATA_VTABLE
+	};
+
+	
+// TLanIp4Provision inline functions
+
+inline TUint32 TLanIp4Provision::LocalAddr() const { return iLocalAddr; }
+	
+inline TUint32 TLanIp4Provision::NetMask() const { return iNetMask;	}
+	
+inline TUint32 TLanIp4Provision::BroadcastAddr() const { return iBroadcastAddr;	}
+	
+inline TUint32 TLanIp4Provision::DefGateway() const	{ return iDefGateway; }
+	
+inline TUint32 TLanIp4Provision::PrimaryDns() const	{ return iPrimaryDns; }
+	
+inline TUint32 TLanIp4Provision::SecondaryDns() const { return iSecondaryDns; }
+
+inline TUint32 TLanIp4Provision::Order() const { return iOrder; }
+
+inline void TLanIp4Provision::SetLocalAddr(TUint32 aLocalAddr) { iLocalAddr = aLocalAddr; }
+	
+inline void TLanIp4Provision::SetNetMask(TUint32 aNetMask) { iNetMask = aNetMask;	}
+	
+inline void TLanIp4Provision::SetBroadcastAddr(TUint32 aBroadcastAddr) { iBroadcastAddr = aBroadcastAddr;	}
+	
+inline void TLanIp4Provision::SetDefGateway(TUint32 aDefGateway) { iDefGateway = aDefGateway; }
+	
+inline void TLanIp4Provision::SetPrimaryDns(TUint32 aPrimaryDns) { iPrimaryDns = aPrimaryDns; }
+	
+inline void TLanIp4Provision::SetSecondaryDns(TUint32 aSecondaryDns) { iSecondaryDns = aSecondaryDns; }
+
+inline void TLanIp4Provision::SetOrder(const TUint32 aOrder) {  iOrder = aOrder; }
+
+
+// TLanIp6Provision inline functions
+
+inline const TIp6Addr& TLanIp6Provision::PrimaryDns() const	{ return iPrimaryDns; }
+	
+inline const TIp6Addr& TLanIp6Provision::SecondaryDns() const {	return iSecondaryDns; }
+
+inline TUint32 TLanIp6Provision::Order() const { return iOrder; }
+
+inline void TLanIp6Provision::SetPrimaryDns(const TIp6Addr& aPrimaryDns) { iPrimaryDns = aPrimaryDns; }
+	
+inline void TLanIp6Provision::SetSecondaryDns(const TIp6Addr& aSecondaryDns) { iSecondaryDns = aSecondaryDns; }
+
+inline void TLanIp6Provision::SetOrder(const TUint32 aOrder) { iOrder = aOrder; }
+
+#endif  // __WLANPROVISION_H__