searcher/tsrc/robustnesstest/inc/cprocessmonitor.h
author Pat Downey <patd@symbian.org>
Tue, 15 Jun 2010 12:49:00 +0100
branchGCC_SURGE
changeset 5 32c1e5a1c52c
parent 0 671dee74050a
permissions -rw-r--r--
Bug 2957: Quote Template_type_T_is_not_a_character_type parameter to remove error. Template_type_T_is_not_a_character_type doesn't seem to be defined anyware.

/*
* Copyright (c) 2010 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: 
*
*/


#ifndef CPROCESSMONITOR_H_
#define CPROCESSMONITOR_H_

#include <e32base.h>

class CProcessMonitor; 

class MProcessMonitorObserver 
	{
public:
	virtual void ProcessFinished( CProcessMonitor& aMonitor, 
							      TExitType aExitType ,
							      TExitCategoryName aCategory,
							      TInt aExitReason ) = 0; 
	virtual void Failed( CProcessMonitor& aMonitor,
					     TInt aError ) = 0; 
	};

class CProcessMonitor : public CActive
	{
public: 
	
	CProcessMonitor(); 
	
	~CProcessMonitor(); 
	
	void StartL( MProcessMonitorObserver& aObserver,
				 const TDesC& aProcessName );
	
	const TDesC& ProcessName(); 
	
protected: 

	void Cleanup(); 
		
	void DoCancel(); 

	void RunL(); 
	
private: 
	
	MProcessMonitorObserver* iObserver; 
	
	RProcess iProcess; 
	
	HBufC* iProcessName; 

	};

#endif /* CPROCESSMONITOR_H_ */