sl@0: // Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #include "mmfcontrollerframeworkbase.h" sl@0: sl@0: sl@0: // TMMFEvent sl@0: EXPORT_C TMMFEvent::TMMFEvent(TUid aEventType, TInt aErrorCode) sl@0: : iEventType(aEventType), iErrorCode(aErrorCode) sl@0: { sl@0: } sl@0: sl@0: EXPORT_C TMMFEvent::TMMFEvent() sl@0: : iEventType(KNullUid), iErrorCode(KErrNone) sl@0: { sl@0: } sl@0: sl@0: sl@0: // CMMFMetaDataEntry sl@0: EXPORT_C CMMFMetaDataEntry* CMMFMetaDataEntry::NewL(const TDesC& aName, const TDesC& aValue) sl@0: { sl@0: CMMFMetaDataEntry* s = new(ELeave) CMMFMetaDataEntry; sl@0: CleanupStack::PushL(s); sl@0: s->ConstructL(aName, aValue); sl@0: CleanupStack::Pop(s); sl@0: return s; sl@0: } sl@0: sl@0: EXPORT_C CMMFMetaDataEntry* CMMFMetaDataEntry::NewL(const CMMFMetaDataEntry& aOther) sl@0: { sl@0: CMMFMetaDataEntry* s = new(ELeave) CMMFMetaDataEntry; sl@0: CleanupStack::PushL(s); sl@0: s->ConstructL(aOther.Name(), aOther.Value()); sl@0: CleanupStack::Pop(s); sl@0: return s; sl@0: } sl@0: sl@0: EXPORT_C CMMFMetaDataEntry* CMMFMetaDataEntry::NewL() sl@0: { sl@0: CMMFMetaDataEntry* s = new(ELeave) CMMFMetaDataEntry; sl@0: CleanupStack::PushL(s); sl@0: s->ConstructL(KNullDesC, KNullDesC); sl@0: CleanupStack::Pop(s); sl@0: return s; sl@0: } sl@0: sl@0: CMMFMetaDataEntry::CMMFMetaDataEntry() sl@0: { sl@0: } sl@0: sl@0: void CMMFMetaDataEntry::ConstructL(const TDesC& aName, const TDesC& aValue) sl@0: { sl@0: iName = aName.AllocL(); sl@0: iValue = aValue.AllocL(); sl@0: } sl@0: sl@0: EXPORT_C CMMFMetaDataEntry::~CMMFMetaDataEntry() sl@0: { sl@0: delete iName; sl@0: delete iValue; sl@0: } sl@0: sl@0: EXPORT_C void CMMFMetaDataEntry::ExternalizeL(RWriteStream& aStream) const sl@0: { sl@0: aStream << *iName; sl@0: aStream << *iValue; sl@0: } sl@0: sl@0: EXPORT_C void CMMFMetaDataEntry::InternalizeL(RReadStream& aStream) sl@0: { sl@0: delete iName; sl@0: iName = NULL; sl@0: iName = HBufC::NewL(aStream, KMaxTInt);//Max length of HBuf is taken from stream - KMaxTInt just used as upper limit sl@0: sl@0: delete iValue; sl@0: iValue = NULL; sl@0: iValue = HBufC::NewL(aStream, KMaxTInt); sl@0: } sl@0: sl@0: EXPORT_C void CMMFMetaDataEntry::SetNameL(const TDesC& aName) sl@0: { sl@0: delete iName; sl@0: iName = NULL; sl@0: iName = aName.AllocL(); sl@0: } sl@0: sl@0: EXPORT_C void CMMFMetaDataEntry::SetValueL(const TDesC& aValue) sl@0: { sl@0: delete iValue; sl@0: iValue = NULL; sl@0: iValue = aValue.AllocL(); sl@0: } sl@0: sl@0: EXPORT_C const TDesC& CMMFMetaDataEntry::Name() const sl@0: { sl@0: return *iName; sl@0: } sl@0: sl@0: EXPORT_C const TDesC& CMMFMetaDataEntry::Value() const sl@0: { sl@0: return *iValue; sl@0: } sl@0: sl@0: sl@0: sl@0: sl@0: sl@0: EXPORT_C CMMFUrlParams* CMMFUrlParams::NewL(const TDesC& aUrl, TInt aIAPId) sl@0: { sl@0: CMMFUrlParams* s = CMMFUrlParams::NewLC(aUrl, aIAPId); sl@0: CleanupStack::Pop(s); sl@0: return s; sl@0: } sl@0: sl@0: EXPORT_C CMMFUrlParams* CMMFUrlParams::NewLC(const TDesC& aUrl, TInt aIAPId) sl@0: { sl@0: CMMFUrlParams* s = new(ELeave) CMMFUrlParams; sl@0: CleanupStack::PushL(s); sl@0: s->ConstructL(aUrl, aIAPId); sl@0: return s; sl@0: } sl@0: sl@0: EXPORT_C CMMFUrlParams* CMMFUrlParams::NewLC(RReadStream& aStream) sl@0: { sl@0: CMMFUrlParams* s = new(ELeave) CMMFUrlParams; sl@0: CleanupStack::PushL(s); sl@0: s->ConstructL(aStream); sl@0: return s; sl@0: } sl@0: sl@0: EXPORT_C void CMMFUrlParams::ExternalizeL(RWriteStream& aStream) const sl@0: { sl@0: aStream.WriteInt16L(iUrl->Length()); sl@0: aStream.WriteL(*iUrl); sl@0: aStream.WriteInt32L(iIAPId); sl@0: } sl@0: sl@0: EXPORT_C CBufFlat* CMMFUrlParams::ExternalizeToCBufFlatLC() const sl@0: { sl@0: CBufFlat* buffer = CBufFlat::NewL(32); sl@0: CleanupStack::PushL(buffer); sl@0: RBufWriteStream s; sl@0: s.Open(*buffer); sl@0: CleanupClosePushL(s); sl@0: ExternalizeL(s); sl@0: CleanupStack::PopAndDestroy();//s sl@0: // Leave buffer on the CleanupStack sl@0: return buffer; sl@0: } sl@0: sl@0: sl@0: CMMFUrlParams::~CMMFUrlParams() sl@0: { sl@0: delete iUrl; sl@0: } sl@0: sl@0: CMMFUrlParams::CMMFUrlParams() sl@0: { sl@0: } sl@0: sl@0: void CMMFUrlParams::ConstructL(const TDesC& aUrl, TInt aIAPId) sl@0: { sl@0: iUrl = aUrl.AllocL(); sl@0: iIAPId = aIAPId; sl@0: } sl@0: sl@0: void CMMFUrlParams::ConstructL(RReadStream& aStream) sl@0: { sl@0: TInt size = aStream.ReadInt16L(); sl@0: iUrl = HBufC::NewL(size); sl@0: TPtr temp (iUrl->Des()); sl@0: aStream.ReadL(temp, size); sl@0: iIAPId = aStream.ReadInt32L(); sl@0: } sl@0: sl@0: EXPORT_C const TDesC& CMMFUrlParams::Url() const sl@0: { sl@0: return *iUrl; sl@0: } sl@0: sl@0: EXPORT_C TInt CMMFUrlParams::IAPId() const sl@0: { sl@0: return iIAPId; sl@0: } sl@0: sl@0: EXPORT_C TBool CMMFUrlParams::UseIAPId() const sl@0: { sl@0: return (iIAPId != KUseDefaultIap); sl@0: } sl@0: