Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / modules / rosapps / applications / sysutils / regexpl / ShellCommandsLinkedList.h
1 //
2 // ShellCommandsLinkedList.h: interface for the CShellCommandsLinkedList class.
3 //
4 //////////////////////////////////////////////////////////////////////
5
6 #if !defined(SHELLCOMMANDSLINKEDLIST_H__D29C1198_5942_11D4_A037_C5AC8D00940F__INCLUDED_)
7 #define SHELLCOMMANDSLINKEDLIST_H__D29C1198_5942_11D4_A037_C5AC8D00940F__INCLUDED_
8
9 #include "ShellCommand.h"
10 #include "Console.h"
11
12 #define POSITION int *
13
14 class CShellCommandsLinkedList
15 {
16 public:
17 CShellCommandsLinkedList(CConsole& rConsole);
18 virtual ~CShellCommandsLinkedList();
19 void AddCommand(CShellCommand *pCommand);
20 int Execute(CArgumentParser& rArgumentParser, int& nReturnValue);
21 CShellCommand * Match(const TCHAR * pchCommand);
22 POSITION GetFirstCommandPosition();
23 CShellCommand * GetNextCommand(POSITION& rPos);
24 private:
25 struct SNode
26 {
27 SNode() {m_pNext = NULL;};
28 CShellCommand *m_pData;
29 SNode *m_pNext;
30 } *m_pRoot;
31 CConsole &m_rConsole;
32 };
33
34 #endif // !defined(SHELLCOMMANDSLINKEDLIST_H__D29C1198_5942_11D4_A037_C5AC8D00940F__INCLUDED_)