mirror of
https://github.com/reactos/reactos.git
synced 2025-01-03 21:09:19 +00:00
34 lines
1,008 B
C
34 lines
1,008 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_)
|