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

📄 smsdatagramsender.cpp

📁 symbian下面收发消息的APIs
💻 CPP
字号:
/*
* ==============================================================================
*  Name        : smsdatagramsender.cpp
*  Part of     : 
*  Interface   : 
*  Description : 
*  Version     : 
*
*  Copyright (c) 2007 Symbian Ltd.  All rights reserved.
* ==============================================================================
*/

// INCLUDE FILES
#include "smsdatagramsender.h"

const TUint KSMSMaxBufferSize = 256;
const TUid KSMSDatagramServiceImplementationUID = {0x101FA9C3};

_LIT(KPanicSMSSender,"SMSSender");

CSmsDatagramSender* CSmsDatagramSender::NewL(MSmsDatagramSenderObserver& aMsgOvserver)
	{
	CSmsDatagramSender* self = new (ELeave) CSmsDatagramSender(aMsgOvserver);
	CleanupStack::PushL(self);
	self->ConstructL();
	CleanupStack::Pop();
	return self;	
	}
	

void CSmsDatagramSender::ConstructL()
	{
    CActiveScheduler::Add(this) ; // add to active scheduler
	}


CSmsDatagramSender::CSmsDatagramSender(MSmsDatagramSenderObserver& aMsgOvserver)
		: CActive(EPriorityStandard), iMsgObserver(aMsgOvserver)
	{	
	}
	

CSmsDatagramSender::~CSmsDatagramSender()
	{
	Cancel();
	delete iDatagram;
	delete iSendService;
	}

	
void CSmsDatagramSender::SendAsyncL(const TDesC8& aMessage, const TDesC8& aPhoneNumber)
	{
	__ASSERT_ALWAYS(!IsActive(),User::Panic(KPanicSMSSender,KErrInUse));

	delete iDatagram;
	iDatagram = NULL;
	iDatagram = CDatagram::NewL(aMessage, aPhoneNumber);

	// and now send it asynchronously
	delete iSendService;
	iSendService=NULL;
	iSendService = CDatagramService::NewL(KSMSDatagramServiceImplementationUID);
	iSendService->SendL(iDatagram, iStatus);
	SetActive();	
	}
		
void CSmsDatagramSender::DoCancel()
	{
	delete iSendService;
	iSendService=NULL;
	}
	
		
void CSmsDatagramSender::RunL()
	{
	User::LeaveIfError(iStatus.Int()); 
	
	TBuf<KSMSMaxBufferSize> sendBuf;
	sendBuf.Copy(iDatagram->GetData());
	iMsgObserver.MsgSentL(sendBuf);
	}



// End of File

⌨️ 快捷键说明

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