tcpiputils/dnd/inc/llmnrconf.h
changeset 0 af10295192d8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tcpiputils/dnd/inc/llmnrconf.h	Tue Jan 26 15:23:49 2010 +0200
@@ -0,0 +1,74 @@
+// 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:
+// llmnrconf.h - LLMNR (linklocal multicast name resolver) configuration
+// file parser module header
+//
+
+#ifndef _LLMNRCONF_H_
+#define _LLMNRCONF_H_
+/**
+@file llmnrconf.h
+LLMNR configuration
+@internalComponent	Domain Name Resolver
+*/
+
+_LIT8(FORMATHWADDR,"%hw");
+_LIT8(WILDCARDPRIMARYHOSTNAME,"*");
+
+class TLlmnrEntry;
+class CESockIniData;
+
+enum TIpVer
+    {
+    EIPany = 0,
+    EIPv4 = 4,
+    EIPv6 = 6
+    };
+
+class THostNameEntry
+/**
+Describe a template for the answer.
+
+  THis is the base information from which the actual answer
+  records (CLlmnrEntry) are generated, based on what interfaces
+  are currently up.
+*/
+	{
+public:
+	THostName iName;	//< The configured (host) name
+	TName iIfName;		//< Interface name
+	TIpVer iVersion;	//< indicates, whether LLMNR is enabled in IPv4 or IPv6 interfaces, or both
+	};
+
+class CLlmnrConf : public CBase
+/**
+Load and maintain LLMNR configuration information.
+*/
+    {
+public:
+    CLlmnrConf(CDndEngine &aControl);
+    ~CLlmnrConf();
+    void ConstructL();
+	void GetHostNamesL();
+    TUint iLlmnrEntries;            //< Number of LLMNR entries in config file
+    TUint iNotifyTime;              //< Timeout after notify to rescan the interfaces
+    TUint iRescans;                 //< Number of rescans after notify
+    TUint iTTL;                     //< TTL of the LLMNR replies
+	CArrayFixFlat<THostNameEntry> *iHostList;//< Host Name Entries from configuration
+
+private:
+ 	CDndEngine &iControl;		    //< The dnd engine
+    };
+
+#endif