reactos/modules/rosapps/applications/sysutils/regexpl/ShellCommandsLinkedList.h

35 lines
1,009 B
C++

//
// ShellCommandsLinkedList.h: interface for the CShellCommandsLinkedList class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(SHELLCOMMANDSLINKEDLIST_H__D29C1198_5942_11D4_A037_C5AC8D00940F__INCLUDED_)
#define SHELLCOMMANDSLINKEDLIST_H__D29C1198_5942_11D4_A037_C5AC8D00940F__INCLUDED_
#include "ShellCommand.h"
#include "Console.h"
#define POSITION int *
class CShellCommandsLinkedList
{
public:
CShellCommandsLinkedList(CConsole& rConsole);
virtual ~CShellCommandsLinkedList();
void AddCommand(CShellCommand *pCommand);
int Execute(CArgumentParser& rArgumentParser, int& nReturnValue);
CShellCommand * Match(const TCHAR * pchCommand);
POSITION GetFirstCommandPosition();
CShellCommand * GetNextCommand(POSITION& rPos);
private:
struct SNode
{
SNode() {m_pNext = NULL;};
CShellCommand *m_pData;
SNode *m_pNext;
} *m_pRoot;
CConsole &m_rConsole;
};
#endif // !defined(SHELLCOMMANDSLINKEDLIST_H__D29C1198_5942_11D4_A037_C5AC8D00940F__INCLUDED_)