diff -r 588ad05716be -r c15b68295419 devicediagnosticsfw/diagpluginbase/src/diagresultdetailbasicitem.cpp --- a/devicediagnosticsfw/diagpluginbase/src/diagresultdetailbasicitem.cpp Sat May 01 10:33:10 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,278 +0,0 @@ -/* -* Copyright (c) 2007 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: Class definition of CDiagResultDetailBasicItem -* -*/ - - -// SYSTEM INCLUDE FILES -#include // RReadStream, RWriteStream - -// USER INCLUDE FILES -#include "diagresultdetailbasicitem.h" - -// CONSTANTS -const TInt KDiagResultDetailBasicMaxNameLen = 50; -const TInt KDiagResultDetailBasicMaxFieldValueLen = 1024; - -// ======== MEMBER FUNCTIONS ======== -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::NewL -// --------------------------------------------------------------------------- -// -CDiagResultDetailBasicItem* CDiagResultDetailBasicItem::NewL( - TInt aFieldId, - const TDesC8& aFieldName, - TInt aValue ) - { - CDiagResultDetailBasicItem* self = new( ELeave ) - CDiagResultDetailBasicItem(); - CleanupStack::PushL( self ); - - self->iFieldId = aFieldId; - self->iFieldName = aFieldName.AllocL(); - self->iFieldType = ETypeInt; - self->iValue.iInt = aValue; - - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::NewL -// --------------------------------------------------------------------------- -// -CDiagResultDetailBasicItem* CDiagResultDetailBasicItem::NewL( - TInt aFieldId, - const TDesC8& aFieldName, - const TDesC8& aValue ) - { - CDiagResultDetailBasicItem* self = new( ELeave ) - CDiagResultDetailBasicItem(); - CleanupStack::PushL( self ); - - self->iFieldId = aFieldId; - self->iFieldName = aFieldName.AllocL(); - self->iFieldType = ETypeDes8; - self->iValue.iBuffer8 = aValue.AllocL(); - - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::NewL -// --------------------------------------------------------------------------- -// -CDiagResultDetailBasicItem* CDiagResultDetailBasicItem::NewL( - TInt aFieldId, - const TDesC8& aFieldName, - const TDesC16& aValue ) - { - CDiagResultDetailBasicItem* self = new( ELeave ) - CDiagResultDetailBasicItem(); - CleanupStack::PushL( self ); - - self->iFieldId = aFieldId; - self->iFieldName = aFieldName.AllocL(); - self->iFieldType = ETypeDes16; - self->iValue.iBuffer16 = aValue.AllocL(); - - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::NewL -// --------------------------------------------------------------------------- -// -CDiagResultDetailBasicItem* CDiagResultDetailBasicItem::NewL( - RReadStream& aReadStream ) - { - CDiagResultDetailBasicItem* self = new( ELeave ) - CDiagResultDetailBasicItem(); - CleanupStack::PushL( self ); - - self->InternalizeL( aReadStream ); - - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::CDiagResultDetailBasicItem -// --------------------------------------------------------------------------- -// -CDiagResultDetailBasicItem::CDiagResultDetailBasicItem() - { - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::~CDiagResultDetailBasicItem -// --------------------------------------------------------------------------- -// -CDiagResultDetailBasicItem::~CDiagResultDetailBasicItem() - { - delete iFieldName; - iFieldName = NULL; - - switch ( Type() ) - { - case ETypeDes16: - delete iValue.iBuffer16; - iValue.iBuffer16 = NULL; - break; - case ETypeDes8: - delete iValue.iBuffer8; - iValue.iBuffer8 = NULL; - break; - default: - // do nothing - break; - } - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::FieldId -// --------------------------------------------------------------------------- -// -TInt CDiagResultDetailBasicItem::FieldId() const - { - return iFieldId; - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::FieldName -// --------------------------------------------------------------------------- -// -const TDesC8& CDiagResultDetailBasicItem::FieldName() const - { - return *iFieldName; - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::Type -// --------------------------------------------------------------------------- -// -CDiagResultDetailBasicItem::TFieldType CDiagResultDetailBasicItem::Type() const - { - return iFieldType; - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::GetValue -// --------------------------------------------------------------------------- -// -TInt CDiagResultDetailBasicItem::GetValue( TInt& aValue ) const - { - if ( Type() != ETypeInt ) - return KErrArgument; - - aValue = iValue.iInt; - return KErrNone; - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::GetValue -// --------------------------------------------------------------------------- -// -TInt CDiagResultDetailBasicItem::GetValue( TPtrC8& aValue ) const - { - if ( Type() != ETypeDes8 ) - return KErrArgument; - - aValue.Set( iValue.iBuffer8->Des() ); - return KErrNone; - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::GetValue -// --------------------------------------------------------------------------- -// -TInt CDiagResultDetailBasicItem::GetValue( TPtrC16& aValue ) const - { - if ( Type() != ETypeDes16 ) - return KErrArgument; - - - aValue.Set( iValue.iBuffer16->Des() ); - return KErrNone; - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::InternalizeL -// --------------------------------------------------------------------------- -// -void CDiagResultDetailBasicItem::InternalizeL( RReadStream& aReadStream ) - { - // first read id - iFieldId = aReadStream.ReadInt32L(); - - // read field Type - iFieldType = ( TFieldType ) aReadStream.ReadUint32L(); - - // read field name - iFieldName = HBufC8::NewL( aReadStream, KDiagResultDetailBasicMaxNameLen ); - - switch ( Type() ) - { - case ETypeInt: - iValue.iInt = aReadStream.ReadInt32L(); - break; - case ETypeDes16: - iValue.iBuffer16 = HBufC16::NewL( aReadStream, - KDiagResultDetailBasicMaxFieldValueLen ); - break; - case ETypeDes8: - iValue.iBuffer8 = HBufC8::NewL( aReadStream, - KDiagResultDetailBasicMaxFieldValueLen ); - break; - default: - User::Leave( KErrCorrupt ); - } - } - -// --------------------------------------------------------------------------- -// CDiagResultDetailBasicItem::ExternalizeL -// --------------------------------------------------------------------------- -// -void CDiagResultDetailBasicItem::ExternalizeL( RWriteStream& aWriteStream ) const - { - // first field id - aWriteStream.WriteInt32L( iFieldId ); - - // write field Type - aWriteStream.WriteUint32L( ( TUint )Type() ); - - // write field name - aWriteStream << FieldName(); - - switch ( Type() ) - { - case ETypeInt: - aWriteStream.WriteInt32L( iValue.iInt ); - break; - case ETypeDes16: - aWriteStream << *( iValue.iBuffer16 ); - break; - case ETypeDes8: - aWriteStream << *( iValue.iBuffer8 ); - break; - default: - User::Leave( KErrCorrupt ); - } - } - -// End of File -