Committing ZeroConf for 10.1 to the FCL.
/*
* Copyright (c) 2008 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:
*
*/
CMDnsParamSetBase* CMDnsParamSetBase::NewL ( RParameterFamily& aFamily, TMDnsParamSetFamily aFamilyType )
{
STypeId typeId;
typeId = STypeId::CreateSTypeId( KMDnsParamsFactoryUid, aFamilyType );
CMDnsParamSetBase* self = static_cast < CMDnsParamSetBase* > ( CSubConParameterSet::NewL( typeId ) );
TBool containerValue = aFamily.IsNull();
if(!containerValue)
{
CleanupStack::PushL ( self );
aFamily.AddParameterSetL ( self, RParameterFamily::ERequested );
CleanupStack::Pop ( self );
}
return self;
}
CMDnsParamSetBase::CMDnsParamSetBase ()
{
}
// ------------------------------------------
CMDnsQueryRequestParamSet* CMDnsQueryRequestParamSet::NewL ( RParameterFamily& aFamily )
{
return static_cast < CMDnsQueryRequestParamSet* > ( CMDnsParamSetBase::NewL( aFamily, EMDnsDiscoverRequestParamSet ) );
}
void CMDnsQueryRequestParamSet::SetInstanceNameL ( const TDesC8& aName )
{
iInstanceName.Close ();
iInstanceName.CreateL(aName);
}
const TDesC8& CMDnsQueryRequestParamSet::InstanceName () const
{
return iInstanceName;
}
void CMDnsQueryRequestParamSet::SetQueryTypeL(TInt aQueryType)
{
iQueryType = aQueryType;
}
TInt CMDnsQueryRequestParamSet::QueryType()const
{
return iQueryType;
}
void CMDnsQueryRequestParamSet::SetProtocol(TInt aProtocol)
{
iProtocol = aProtocol;
}
TInt CMDnsQueryRequestParamSet::Protocol() const
{
return iProtocol;
}
void CMDnsQueryRequestParamSet::SetServiceTypeL(const TDesC8& aServiceType)
{
iServiceType.Close();
iServiceType.CreateL(aServiceType);
}
const TDesC8& CMDnsQueryRequestParamSet::ServiceType()const
{
return iServiceType;
}
CMDnsQueryRequestParamSet::~CMDnsQueryRequestParamSet ()
{
iInstanceName.Close ();
iServiceType.Close ();
}
// -------------------------------------------------------------------------
CMDnsPtrParamSet* CMDnsPtrParamSet::NewL(RParameterFamily& aFamily)
{
return static_cast < CMDnsPtrParamSet* > ( CMDnsParamSetBase::NewL( aFamily, EMdnsPtrParamset ) );
}
void CMDnsPtrParamSet::SetInstanceNameL(const TDesC8& aName)
{
iInstanceName.Close ();
iInstanceName.CreateL(aName);
}
const TDesC8& CMDnsPtrParamSet::InstanceName()const
{
return iInstanceName;
}
void CMDnsPtrParamSet::SetDomainNameL(const TDesC8& aDomainName)
{
iDomainName.Close ();
iDomainName.CreateL(aDomainName);
}
const TDesC8& CMDnsPtrParamSet::DomainName() const
{
return iDomainName;
}
void CMDnsPtrParamSet::SetTtlL(TInt aTtl)
{
iTtl = aTtl;
}
TInt CMDnsPtrParamSet::Ttl() const
{
return iTtl;
}
CMDnsPtrParamSet::~CMDnsPtrParamSet()
{
iInstanceName.Close();
iDomainName.Close();
}
//----------------------------------------------------------------------------------------
CMDnsSrvParamSet* CMDnsSrvParamSet::NewL(RParameterFamily& aFamily)
{
return static_cast < CMDnsSrvParamSet* > ( CMDnsParamSetBase::NewL( aFamily, EMdnsSrvParamset ) );
}
void CMDnsSrvParamSet::SetDomainNameL(const TDesC8& aDomainName)
{
iDomainName.Close ();
iDomainName.CreateL(aDomainName);
}
const TDesC8& CMDnsSrvParamSet::DomainName() const
{
return iDomainName;
}
void CMDnsSrvParamSet::SetTargetL(const TDesC8& aTarget)
{
iTarget.Close ();
iTarget.CreateL(aTarget);
}
const TDesC8& CMDnsSrvParamSet::Target() const
{
return iTarget;
}
void CMDnsSrvParamSet::SetPriority(TUint16 aPriority)
{
iPrio = aPriority;
}
TUint16 CMDnsSrvParamSet::Priority()const
{
return iPrio;
}
void CMDnsSrvParamSet::SetWeight(TUint16 aWeight)
{
iWeight = aWeight;
}
TUint16 CMDnsSrvParamSet::Weight()const
{
return iWeight;
}
void CMDnsSrvParamSet::SetPort(TUint16 aPort)
{
iPort = aPort;
}
TUint16 CMDnsSrvParamSet::Port()const
{
return iPort;
}
CMDnsSrvParamSet::~CMDnsSrvParamSet()
{
iTarget.Close();
iDomainName.Close();
}
//--------------------------------------------------------------------------------
CMDnsAddrParamSet* CMDnsAddrParamSet::NewL(RParameterFamily& aFamily)
{
return static_cast < CMDnsAddrParamSet* > ( CMDnsParamSetBase::NewL( aFamily, EMdnsAddrParamset ) );
}
void CMDnsAddrParamSet::SetDomainNameL(const TDesC8& aDomainName)
{
iDomainName.Close ();
iDomainName.CreateL(aDomainName);
}
const TDesC8& CMDnsAddrParamSet::DomainName() const
{
return iDomainName;
}
void CMDnsAddrParamSet::SetAddress(TInetAddr aAddr)
{
iAddr = aAddr;
}
TInetAddr CMDnsAddrParamSet::Address()const
{
return iAddr;
}
CMDnsAddrParamSet::~CMDnsAddrParamSet()
{
iDomainName.Close();
}
//-----------------------------------------------------------------------------------
CMDnsTxtParamSet* CMDnsTxtParamSet::NewL(RParameterFamily& aFamily)
{
return static_cast < CMDnsTxtParamSet* > ( CMDnsParamSetBase::NewL( aFamily, EMdnsTxtParamset ) );
}
void CMDnsTxtParamSet::SetDomainNameL(const TDesC8& aDomainName)
{
iDomainName.Close ();
iDomainName.CreateL(aDomainName);
}
const TDesC8& CMDnsTxtParamSet::DomainName() const
{
return iDomainName;
}
void CMDnsTxtParamSet::AppendTxtData(TDesC8& aData)
{
_LIT8(KNewLine,"\n");
RBuf8 temp;
temp.Create(iTxtData.Length() + aData.Length() + KNewLine().Length());
temp.Append(iTxtData);
temp.Append(aData);
temp.Append(KNewLine);
iTxtData.Close();
iTxtData.Create(temp);
temp.Close();
}
void CMDnsTxtParamSet::TxtDataL(RArray<RBuf8>& aTxtArray)
{
TokenizeStringL(iTxtData,aTxtArray,'\n');
}
void CMDnsTxtParamSet::TokenizeStringL(RBuf8& aString, RArray<RBuf8>& aList, TChar aSeparator)
{
TLex8 lexer(aString);
while(!lexer.Eos())
{
lexer.SkipSpaceAndMark();
while(!lexer.Eos() && lexer.Get() != aSeparator)
{
}
if(!lexer.Eos())
{
lexer.UnGet(); // Do not include trailing ','
}
RBuf8 temp;
temp.Create(lexer.MarkedToken());
aList.Append(temp);
lexer.Inc();
}
}
CMDnsTxtParamSet::~CMDnsTxtParamSet()
{
iDomainName.Close();
iTxtData.Close();
}
//-----------------------------------------------------------------------------------
CMDnsPublishResponseParamSet* CMDnsPublishResponseParamSet::NewL(RParameterFamily& aFamily)
{
return static_cast < CMDnsPublishResponseParamSet* > ( CMDnsParamSetBase::NewL( aFamily, EMdnsSrvParamset ) );
}
void CMDnsPublishResponseParamSet::SetDomainNameL(const TDesC8& aDomainName)
{
iDomainName.Close ();
iDomainName.CreateL(aDomainName);
}
const TDesC8& CMDnsPublishResponseParamSet::DomainName() const
{
return iDomainName;
}
void CMDnsPublishResponseParamSet::SetError(TInt aError)
{
iError = aError;
}
TInt CMDnsPublishResponseParamSet::Error()const
{
return iError;
}
CMDnsPublishResponseParamSet::~CMDnsPublishResponseParamSet()
{
iDomainName.Close();
}
//----------------------------------------------------------------------------------------------------------------------------
CMDnsRegisterNotifyParamSet* CMDnsRegisterNotifyParamSet::NewL(RParameterFamily& aFamily)
{
return static_cast < CMDnsRegisterNotifyParamSet* > ( CMDnsParamSetBase::NewL( aFamily, EMdnsRegisterNotifyParamset ) );
}
void CMDnsRegisterNotifyParamSet::SetInstanceNameL(const TDesC8& aDomainName)
{
iInstanceName.Close ();
iInstanceName.CreateL(aDomainName);
}
const TDesC8& CMDnsRegisterNotifyParamSet::InstanceName() const
{
return iInstanceName;
}
CMDnsRegisterNotifyParamSet::~CMDnsRegisterNotifyParamSet()
{
iInstanceName.Close();
}
//-----------------------------------------------------------------------------------
CMDnsPublishParamSet* CMDnsPublishParamSet::NewL(RParameterFamily& aFamily)
{
return static_cast < CMDnsPublishParamSet* > ( CMDnsParamSetBase::NewL( aFamily, EMdnsPublishParamset ) );
}
void CMDnsPublishParamSet::SetPublishUpdate(TBool aFlag)
{
isPublish = aFlag;
}
TBool CMDnsPublishParamSet::PublishUpdate()const
{
return isPublish;
}
CMDnsPublishParamSet::~CMDnsPublishParamSet()
{
}
//----------------------------------------------------------------------------------------------------------------------------