⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 esimuseritem.cpp

📁 基于SIP协议的即时消息聊天功能设计,Symbian平台下实现
💻 CPP
字号:
/*  Copyright (c) 2004, Nokia. All rights reserved */

// INCLUDE FILES
#include <s32file.h>
#include <e32std.h>
#include "ESIMUserItem.h"

// ================= MEMBER FUNCTIONS =======================

// ---------------------------------------------------------
// CESIMUserItem::NewL()
// Creates an instance of the CESIMUserItem class.
// ---------------------------------------------------------
//
CESIMUserItem* CESIMUserItem::NewL()
    {
    CESIMUserItem* self = CESIMUserItem::NewLC();
    CleanupStack::Pop( self );
    return self;
    }

// ---------------------------------------------------------
// CESIMUserItem::NewLC()
// Creates an instance of the CESIMUserItem class.
// ---------------------------------------------------------
//
CESIMUserItem* CESIMUserItem::NewLC()
    {
    CESIMUserItem* self = new ( ELeave ) CESIMUserItem;
    CleanupStack::PushL( self );
    self->ConstructL();
    return self;
    }

// ---------------------------------------------------------
// CESIMUserItem::CESIMUserItem()
// Constructor
// ---------------------------------------------------------
//
CESIMUserItem::CESIMUserItem()
    {
    // No implementation required
    }

// ---------------------------------------------------------
// CESIMUserItem::~CESIMUserItem()
// Destructor
// ---------------------------------------------------------
//
CESIMUserItem::~CESIMUserItem()
    {
    delete iName;
    iName = NULL;

	delete iSipAddress;
	iSipAddress = NULL;

	delete iMessage;
	iMessage = NULL;
    }

// ---------------------------------------------------------
// CESIMUserItem::ConstructL()
// 2nd phase construction.
// ---------------------------------------------------------
//
void CESIMUserItem::ConstructL()
    {
    // No implementation required
    }

// ---------------------------------------------------------
// CESIMUserItem::ExternalizeL()
// 2nd phase construction.
// ---------------------------------------------------------
//
void CESIMUserItem::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 );
    }

// ---------------------------------------------------------
// CESIMUserItem::InternalizeL()
// 2nd phase construction.
// ---------------------------------------------------------
//
void CESIMUserItem::InternalizeL( RReadStream& aStream )
    {
    delete iName;
	delete iSipAddress;
	delete iMessage;

    iName = HBufC::NewL( aStream, KMaxTInt );
	iSipAddress = HBufC::NewL( aStream, KMaxTInt );
	iMessage = HBufC::NewL( aStream, KMaxTInt );
    iFlags = aStream.ReadInt32L();
    }

// ---------------------------------------------------------
// CESIMUserItem::SetNameL()
// ---------------------------------------------------------
//
void CESIMUserItem::SetSipAddressL( HBufC* aValue )
    {
    delete iSipAddress;
	iSipAddress = aValue;
    }

HBufC* CESIMUserItem::SipAddress() const
{
	return iSipAddress;
}

// ---------------------------------------------------------
// CESIMUserItem::SetNameL()
// ---------------------------------------------------------
//
void CESIMUserItem::SetNameL( HBufC* aValue )
    {
    delete iName;
	iName = aValue;
    }

// ---------------------------------------------------------
// CESIMUserItem::Name()
// ---------------------------------------------------------
//
HBufC* CESIMUserItem::Name() const
    {
    return iName;
    }

void CESIMUserItem::SetMessageL( HBufC* aValue )
{
	delete iMessage;
	iMessage = aValue;
}

HBufC* CESIMUserItem::Message() const
{
	return iMessage;
}

// ---------------------------------------------------------
// CESIMUserItem::SetFlags()
// ---------------------------------------------------------
//
void CESIMUserItem::SetFlagsL( TUint aValue )
   {
   iFlags = aValue;
   }

// ---------------------------------------------------------
// CESIMUserItem::Flags()
// ---------------------------------------------------------
//
TUint CESIMUserItem::Flags() const
   {
   return iFlags;
   }

// End of File

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -