summaryrefslogblamecommitdiffstats
path: root/private/oleutest/oletest/stack.h
blob: 9b7a81753df2839af5e7442c13f04c2d977b0ae6 (plain) (tree)




























































                                                                            
//+-------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (C) Microsoft Corporation, 1992 - 1993.
//
//  File:	stack.h
//
//  Contents:	The class declaration of the task stack.
//
//  Classes: 	TaskStack
//
//  History:    dd-mmm-yy Author    Comment
//		06-Feb-93 alexgo    author
//
//--------------------------------------------------------------------------

#ifndef _STACK_H
#define _STACK_H

typedef struct TaskNode
{
	TaskItem ti;
	struct TaskNode *pNext;
} TaskNode;

//+-------------------------------------------------------------------------
//
//  Class:	TaskStack
//
//  Purpose: 	Stores the task list of tests to be run.
//
//  History:    dd-mmm-yy Author    Comment
// 		06-Feb-93 alexgo    author
//
//  Notes:	TaskItems are passed in and returned from methods
//		as structure copies.  This is done to simply memory
//		management (since the overriding design goal of the
//		driver app is simplicity over efficiency).
//
//--------------------------------------------------------------------------

class TaskStack
{
public:
	TaskStack( void );	//constructor

 	void AddToEnd( void (*)(void *), void *);
	void AddToEnd( const TaskItem *);
	void Empty(void);
	BOOL IsEmpty(void);
	void Pop( TaskItem * );
	void PopAndExecute( TaskItem * );
	void Push( void (*)(void *), void *);
	void Push( const TaskItem *);


private:
	TaskNode	*m_pNodes;
};

#endif	//!_STACK_H