All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CommandTerminal.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 
7 #include <string>
8 #include <vector>
9 
10 namespace Eegeo
11 {
12  namespace Debug
13  {
14  namespace Commands
15  {
17  {
18  public:
19  virtual ~ICommandTerminalOutput() { };
20  virtual void Write(const std::string& str) const = 0;
21  };
22 
24  {
25  public:
26  void AddOutput(ICommandTerminalOutput& output);
27  void RemoveOutput(ICommandTerminalOutput& output);
28  void Write(const std::string& str) const;
29  private:
30  std::vector<ICommandTerminalOutput*> m_outputs;
31  };
32  }
33  }
34 }