Torque3D Documentation / _generateds / x86UNIXStdConsole.h

x86UNIXStdConsole.h

Engine/source/platformX86UNIX/x86UNIXStdConsole.h

More...

Classes:

Public Defines

define
MAX_CMDS() 10

Public Variables

Detailed Description

Public Defines

MAX_CMDS() 10

Public Variables

StdConsole * stdConsole 
 1
 2//-----------------------------------------------------------------------------
 3// Copyright (c) 2012 GarageGames, LLC
 4//
 5// Permission is hereby granted, free of charge, to any person obtaining a copy
 6// of this software and associated documentation files (the "Software"), to
 7// deal in the Software without restriction, including without limitation the
 8// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 9// sell copies of the Software, and to permit persons to whom the Software is
10// furnished to do so, subject to the following conditions:
11//
12// The above copyright notice and this permission notice shall be included in
13// all copies or substantial portions of the Software.
14//
15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21// IN THE SOFTWARE.
22//-----------------------------------------------------------------------------
23
24#ifndef _X86UNIXSTDCONSOLE_H_
25#define _X86UNIXSTDCONSOLE_H_
26
27#define MAX_CMDS 10
28#ifndef _CONSOLE_H_
29#include "console/console.h"
30#endif
31#ifndef _EVENT_H_
32#include "platform/event.h"
33#endif
34
35#include <termios.h>
36
37class StdConsole
38{
39   bool stdConsoleEnabled;
40   bool stdConsoleInputEnabled;
41   // true if we're running in the background
42   bool inBackground;
43
44   int stdOut;
45   int stdIn;
46   int stdErr;
47   char inbuf[512];
48   S32  inpos;
49   bool lineOutput;
50   char curTabComplete[512];
51   S32  tabCompleteStart;
52   char rgCmds[MAX_CMDS][512];
53   S32  iCmdIndex;
54
55   // this holds the original terminal state
56   // before we messed with it
57   struct termios *originalTermState;
58
59   void printf(const char *s, ...);
60
61public:
62   StdConsole();
63   virtual ~StdConsole();
64   void process();
65   void enable(bool);
66   void enableInput(bool enabled);
67   void processConsoleLine(const char *consoleLine);
68   static void create();
69   static void destroy();
70   static bool isEnabled();
71   void resetTerminal();
72};
73
74extern StdConsole *stdConsole;
75
76#endif
77