diff -r 000000000000 -r b16258d2340f applayerpluginsandutils/httpprotocolplugins/WspProtocolHandler/CWspCapabilityInfo.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applayerpluginsandutils/httpprotocolplugins/WspProtocolHandler/CWspCapabilityInfo.cpp Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,248 @@ +// Copyright (c) 2001-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: +// + +#include "CWspCapabilityInfo.h" + +#include +#include "CWspAliasAddresses.h" +#include "CWspExtendedMethods.h" +#include "CWspHeaderCodePages.h" +#include "CWspUnknownCapabilities.h" + +const TUint32 KWspMethodMORDefault = 1; +const TUint32 KWspPushMORDefault = 1; +const TUint32 KWspClientSDUSizeDefault = 1400; +const TUint32 KWspServerSDUSizeDefault = 1400; +const TUint32 KWspClientMessageSizeDefault = 1400; +const TUint32 KWspServerMessageSizeDefault = 1400; +const TUint8 KWspProtocolOptionsDefault = 0x00; + + +CWspCapabilityInfo* CWspCapabilityInfo::NewL() + { + CWspCapabilityInfo* self = new (ELeave) CWspCapabilityInfo(); + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +CWspCapabilityInfo::~CWspCapabilityInfo() + { + delete iAliasAddresses; + delete iExtendedMethods; + delete iHeaderCodePages; + delete iUnknownCapabilities; + } + +CWspCapabilityInfo::CWspCapabilityInfo() +: CBase(), iMethodMOR(KWspMethodMORDefault), + iPushMOR(KWspPushMORDefault), + iProtocolOptions(KWspProtocolOptionsDefault), + iClientSDUSize(KWspClientSDUSizeDefault), + iServerSDUSize(KWspServerSDUSizeDefault), + iClientMessageSize(KWspClientMessageSizeDefault), + iServerMessageSize(KWspServerMessageSizeDefault) + { + } + +void CWspCapabilityInfo::ConstructL() + { + iAliasAddresses = CWspAliasAddresses::NewL(); + iExtendedMethods = CWspExtendedMethods::NewL(); + iHeaderCodePages = CWspHeaderCodePages::NewL(); + iUnknownCapabilities = CWspUnknownCapabilities::NewL(); + } + +/* + * Methods from MWspCapabilityViewer + */ + +const MWspAliasAddresses& CWspCapabilityInfo::GetAliasAddresses() const + { + return *iAliasAddresses; + } + +const MWspExtendedMethods& CWspCapabilityInfo::GetExtendedMethods() const + { + return *iExtendedMethods; + } + +const MWspHeaderCodePages& CWspCapabilityInfo::GetHeaderCodePages() const + { + return *iHeaderCodePages; + } + +TUint8 CWspCapabilityInfo::GetMethodMOR() const + { + return iMethodMOR; + } + +TUint8 CWspCapabilityInfo::GetPushMOR() const + { + return iPushMOR; + } + +TUint8 CWspCapabilityInfo::GetProtocolOptions() const + { + return iProtocolOptions; + } + +TUint32 CWspCapabilityInfo::GetClientSDUSize() const + { + return iClientSDUSize; + } + +TUint32 CWspCapabilityInfo::GetServerSDUSize() const + { + return iServerSDUSize; + } + +TUint32 CWspCapabilityInfo::GetClientMessageSize() const + { + return iClientMessageSize; + } + +TUint32 CWspCapabilityInfo::GetServerMessageSize() const + { + return iServerMessageSize; + } + +const MWspUnknownCapabilities& CWspCapabilityInfo::GetUnknownCapabilities() const + { + return *iUnknownCapabilities; + } + +/* + * Methods from MWspCapabilitiesSetter + */ + +void CWspCapabilityInfo::Reset(TWspCapability aCapability) + { + switch(aCapability) + { + case EAliasAddresses: + { + iAliasAddresses->Reset(); + } break; + case EExtendedMethods: + { + iExtendedMethods->Reset(); + } break; + case EHeaderCodePages: + { + iHeaderCodePages->Reset(); + } break; + case EMethodMOR: + { + iMethodMOR = KWspMethodMORDefault; + } break; + case EPushMOR: + { + iPushMOR = KWspPushMORDefault; + } break; + case EProtocolOptions: + { + iProtocolOptions = KWspProtocolOptionsDefault; + } break; + case EClientSDUSize: + { + iClientSDUSize = KWspClientSDUSizeDefault; + } break; + case EServerSDUSize: + { + iServerSDUSize = KWspServerSDUSizeDefault; + } break; + case EClientMessageSize: + { + iClientMessageSize = KWspClientMessageSizeDefault; + } break; + case EServerMessageSize: + { + iServerMessageSize = KWspServerMessageSizeDefault; + } break; + case EUnknownCapabilities: + { + iUnknownCapabilities->Reset(); + } break; + case EAllCapabilities: + { + // Recurse into this function using a different value of TWspCapability + for(TInt capability = 0; capabilityAddAddressL(aBearer, aPort, aAddress); + } + +void CWspCapabilityInfo::AddExtendedMethodL(TUint8 aPDUType, const TDesC8& aMethodName) + { + iExtendedMethods->AddExtendedMethodL(aPDUType, aMethodName); + } + +void CWspCapabilityInfo::AddHeaderCodePageL(TUint8 aPageCode, const TDesC8& aPageName) + { + iHeaderCodePages->AddHeaderCodePageL(aPageCode, aPageName); + } + +void CWspCapabilityInfo::SetMethodMOR(TUint8 aMOR) + { + iMethodMOR = aMOR; + } + +void CWspCapabilityInfo::SetPushMOR(TUint8 aMOR) + { + iPushMOR = aMOR; + } + +void CWspCapabilityInfo::SetProtocolOptions(TUint8 aProtocolOptions) + { + iProtocolOptions = aProtocolOptions; + } + +void CWspCapabilityInfo::SetClientSDUSize(TUint32 aSize) + { + iClientSDUSize = aSize; + } + +void CWspCapabilityInfo::SetServerSDUSize(TUint32 aSize) + { + iServerSDUSize = aSize; + } + +void CWspCapabilityInfo::SetClientMessageSize(TUint32 aSize) + { + iClientMessageSize = aSize; + } + +void CWspCapabilityInfo::SetServerMessageSize(TUint32 aSize) + { + iServerMessageSize = aSize; + } + +void CWspCapabilityInfo::AddUnknownCapabilityL(const TDesC8& aIdentifier, const TDesC8& aValue) + { + iUnknownCapabilities->AddUnknownCapabilityL(aIdentifier, aValue); + }