?? esimgroupitem.cpp
字號:
/* Copyright (c) 2004, Nokia. All rights reserved */
// INCLUDE FILES
#include <s32file.h>
#include <e32std.h>
#include "ESIMGroupItem.h"
#include "ESIMUserItem.h"
// ================= MEMBER FUNCTIONS =======================
// ---------------------------------------------------------
// CESIMGroupItem::NewL()
// Creates an instance of the CESIMGroupItem class.
// ---------------------------------------------------------
//
CESIMGroupItem* CESIMGroupItem::NewL()
{
CESIMGroupItem* self = CESIMGroupItem::NewLC();
CleanupStack::Pop( self );
return self;
}
// ---------------------------------------------------------
// CESIMGroupItem::NewLC()
// Creates an instance of the CESIMGroupItem class.
// ---------------------------------------------------------
//
CESIMGroupItem* CESIMGroupItem::NewLC()
{
CESIMGroupItem* self = new ( ELeave ) CESIMGroupItem;
CleanupStack::PushL( self );
self->ConstructL();
return self;
}
// ---------------------------------------------------------
// CESIMGroupItem::CESIMGroupItem()
// Constructor
// ---------------------------------------------------------
//
CESIMGroupItem::CESIMGroupItem()
{
// No implementation required
}
// ---------------------------------------------------------
// CESIMGroupItem::~CESIMGroupItem()
// Destructor
// ---------------------------------------------------------
//
CESIMGroupItem::~CESIMGroupItem()
{
delete iName;
iName = NULL;
delete iSipAddress;
iSipAddress = NULL;
delete iMessage;
iMessage = NULL;
iItemList.ResetAndDestroy();
}
// ---------------------------------------------------------
// CESIMGroupItem::ConstructL()
// 2nd phase construction.
// ---------------------------------------------------------
//
void CESIMGroupItem::ConstructL()
{
// No implementation required
}
// ---------------------------------------------------------
// CESIMGroupItem::ExternalizeL()
// 2nd phase construction.
// ---------------------------------------------------------
//
void CESIMGroupItem::ExternalizeL( RWriteStream& aStream ) const
{
if ( iName )
{
aStream << *iName;
}
else
{
aStream << KNullDesC;
}
if ( iSipAddress)
{
aStream << *iSipAddress;
}
else
{
aStream << KNullDesC;
}
if ( iMessage)
{
aStream << *iMessage;
}
else
{
aStream << KNullDesC;
}
aStream.WriteInt32L( iFlags );
aStream.WriteInt16L(iItemList.Count());
for(TInt i=0; i<iItemList.Count(); i++)
{
static_cast<CESIMUserItem*>(iItemList[i])->ExternalizeL(aStream);
}
}
// ---------------------------------------------------------
// CESIMGroupItem::InternalizeL()
// 2nd phase construction.
// ---------------------------------------------------------
//
void CESIMGroupItem::InternalizeL( RReadStream& aStream )
{
delete iName;
delete iSipAddress;
delete iMessage;
iItemList.Reset();
iName = HBufC::NewL( aStream, KMaxTInt );
iSipAddress = HBufC::NewL( aStream, KMaxTInt );
iMessage = HBufC::NewL( aStream, KMaxTInt );
iFlags = aStream.ReadInt32L();
TInt j = aStream.ReadInt16L();
for(TInt i=0; i<j; i++)
{
CESIMUserItem* item = CESIMUserItem::NewL();
CleanupStack::PushL( item );
item->InternalizeL( aStream );
User::LeaveIfError( iItemList.Append( item ) );
CleanupStack::Pop( item );
}
}
// ---------------------------------------------------------
// CESIMGroupItem::SetNameL()
// ---------------------------------------------------------
//
void CESIMGroupItem::SetNameL( HBufC* aValue )
{
delete iName;
iName = aValue;
}
// ---------------------------------------------------------
// CESIMGroupItem::Name()
// ---------------------------------------------------------
//
HBufC* CESIMGroupItem::Name() const
{
return iName;
}
// ---------------------------------------------------------
// CESIMGroupItem::SetNameL()
// ---------------------------------------------------------
//
void CESIMGroupItem::SetSipAddressL( HBufC* aValue )
{
delete iSipAddress;
iSipAddress = aValue;
}
HBufC* CESIMGroupItem::SipAddress() const
{
return iSipAddress;
}
void CESIMGroupItem::SetMessageL( HBufC* aValue )
{
delete iMessage;
iMessage = aValue;
}
HBufC* CESIMGroupItem::Message() const
{
return iMessage;
}
RPointerArray<CESIMUserItem>& CESIMGroupItem::ItemList()
{
return iItemList;
}
// ---------------------------------------------------------
// CESIMGroupItem::SetFlags()
// ---------------------------------------------------------
//
void CESIMGroupItem::SetFlagsL( TUint aValue )
{
iFlags = aValue;
}
// ---------------------------------------------------------
// CESIMGroupItem::Flags()
// ---------------------------------------------------------
//
TUint CESIMGroupItem::Flags() const
{
return iFlags;
}
// End of File
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -