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

📄 threadlistener.cpp

📁 Series_60_DP_1_0_2_0_Thread_And_Active_Objects_Example_v1_0 Symbian os S60线程与活动对象实例
💻 CPP
字号:
/*
* ============================================================================
*  Name     : CThreadListener from ThreadListener.h
*  Part of  : ThreadAndAO
*  Created  : 12.1.2005 by Forum Nokia
*  Version  : 1.0
*  Copyright: Nokia Corporation
* ============================================================================
*/

#include "ThreadListener.h"

CThreadListener* CThreadListener::NewL(RThread& aThread)
    {
    CThreadListener* self = CThreadListener::NewLC(aThread);
    CleanupStack::Pop(self);
    return self;
    }

CThreadListener* CThreadListener::NewLC(RThread& aThread)
    {
    CThreadListener* self = new (ELeave) CThreadListener();
    self->ConstructL(aThread);
    CleanupStack::PushL(self);
    return self;
    }

// ----------------------------------------------------------------------------
// CThreadListener::CThreadListener(void)
//
// Constructor.
// ----------------------------------------------------------------------------
CThreadListener::CThreadListener(): 
	CActive(EPriorityStandard)
	{
	}

// ----------------------------------------------------------------------------
// CThreadListener::CThreadListener(void)
//
// Destructor.
// ----------------------------------------------------------------------------
CThreadListener::~CThreadListener(void)
	{
	Cancel();
	iMonitoredThread.Close();
	}

// Standard Symbian OS 2nd phase constructor
void CThreadListener::ConstructL(RThread& aThread)
    {
	CActiveScheduler::Add(this);
	iMonitoredThread.Open(aThread.Id());
	iMonitoredThread.Logon(iStatus);
	SetActive();
    }


// ----------------------------------------------------------------------------
// CThreadListener::RunL()
//
// iStatus is given to ThreadOne Logon( ). 
// Logon requests notification when thread1 dies, normally or otherwise.
// ----------------------------------------------------------------------------
 void CThreadListener::RunL()
	{
	// Only in this example:
	// Consider any completion value as an error - exit now
	User::Exit(0);
	}

// ----------------------------------------------------------------------------
// CThreadListener::DoCancel()
// ----------------------------------------------------------------------------
 void CThreadListener::DoCancel()
	{
	iMonitoredThread.LogonCancel(iStatus);
	}

⌨️ 快捷键说明

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