diff -r 000000000000 -r af10295192d8 tcpiputils/dhcp/include/DomainNameDecoder.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tcpiputils/dhcp/include/DomainNameDecoder.h Tue Jan 26 15:23:49 2010 +0200 @@ -0,0 +1,58 @@ +// 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: +// The Domain Name Decoder header file +// +// + +/** + @file DomainNameDecoder.h +*/ + +#ifndef DOMAINNAMEDECODER_H +#define DOMAINNAMEDECODER_H + +#include + +typedef TBuf8<0xFF> TDomainName; +typedef RArray TDomainNameArray; + +const TUint8 KMaxDnsLabelLength = 63; +const TUint8 KMaxDomainNameLength = 255; + +class CDomainNameCodec : public CBase + { + public: + virtual ~CDomainNameCodec(); + + TUint NumDomainNames() const; + TDomainName& operator[](TUint aIndex); + + void DecodeL(TPtr8& aInDes); + void EncodeL(TDomainNameArray& aNames, RBuf8& aOutDes); + + protected: + TDomainNameArray iDomainList; + }; + +inline TDomainName& CDomainNameCodec::operator[](TUint aIndex) + { + return iDomainList[aIndex]; + } + +inline TUint CDomainNameCodec::NumDomainNames() const + { + return iDomainList.Count(); + } + +#endif