summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Parser.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-11-21 09:26:08 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-11-21 09:26:08 +0000
commitc3f483dc7e17c54363560a6ea3d8dc9186fffe69 (patch)
treeb1b0645de7785651760405dd0cb69b423eb7574a /cpp/src/IceGrid/Parser.h
parentAdded missing documentation comment. (diff)
downloadice-c3f483dc7e17c54363560a6ea3d8dc9186fffe69.tar.bz2
ice-c3f483dc7e17c54363560a6ea3d8dc9186fffe69.tar.xz
ice-c3f483dc7e17c54363560a6ea3d8dc9186fffe69.zip
icegridadmin doesn't use anymore Ice::Application and handle Ctrl-C itself
Diffstat (limited to 'cpp/src/IceGrid/Parser.h')
-rw-r--r--cpp/src/IceGrid/Parser.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/cpp/src/IceGrid/Parser.h b/cpp/src/IceGrid/Parser.h
index 3e800be4d96..a4a1d0637da 100644
--- a/cpp/src/IceGrid/Parser.h
+++ b/cpp/src/IceGrid/Parser.h
@@ -62,14 +62,19 @@ typedef ::IceUtil::Handle<Parser> ParserPtr;
namespace IceGrid
{
-class Parser : public ::IceUtil::SimpleShared
+class Parser : public ::IceUtil::SimpleShared, IceUtil::Monitor<IceUtil::Mutex>
{
public:
- static ParserPtr createParser(const Ice::CommunicatorPtr&, const AdminSessionPrx&, const AdminPrx&);
+ static ParserPtr createParser(const Ice::CommunicatorPtr&, const AdminSessionPrx&, const AdminPrx&, bool);
void usage();
+ void interrupt();
+ bool interrupted() const;
+ void resetInterrupt();
+ void checkInterrupted();
+
void addApplication(const std::list<std::string>&);
void removeApplication(const std::list<std::string>&);
void describeApplication(const std::list<std::string>&);
@@ -143,7 +148,7 @@ public:
private:
- Parser(const Ice::CommunicatorPtr&, const AdminSessionPrx&, const AdminPrx&);
+ Parser(const Ice::CommunicatorPtr&, const AdminSessionPrx&, const AdminPrx&, bool);
void exception(const Ice::Exception&);
std::string _commands;
@@ -151,9 +156,11 @@ private:
AdminSessionPrx _session;
AdminPrx _admin;
bool _continue;
+ bool _interrupted;
int _errors;
int _currentLine;
std::string _currentFile;
+ bool _interactive;
};
extern Parser* parser; // The current parser for bison/flex