10 #ifndef ICE_STORM_PARSER_H
11 #define ICE_STORM_PARSER_H
13 #include <IceUtil/Handle.h>
14 #include <IceStorm/IceStorm.h>
22 #define YYSTYPE std::list<std::string>
23 #define YY_DECL int yylex(YYSTYPE* yylvalp)
34 #define YYMAXDEPTH 10000
35 #define YYINITDEPTH YYMAXDEPTH // Initial depth is set to max depth, for the reasons described above.
41 #define yyoverflow(a, b, c, d, e, f) yyerror(a)
50 typedef ::IceUtil::Handle<Parser>
ParserPtr;
52 class Parser :
public ::IceUtil::SimpleShared
57 const std::map<Ice::Identity, TopicManagerPrx>&);
61 void create(
const std::list<std::string>&);
62 void destroy(
const std::list<std::string>&);
63 void link(
const std::list<std::string>&);
64 void unlink(
const std::list<std::string>&);
65 void links(
const std::list<std::string>&);
66 void topics(
const std::list<std::string>&);
67 void replica(
const std::list<std::string>&);
69 void current(
const std::list<std::string>&);
79 void getInput(
char*,
size_t&,
size_t);
84 void error(
const char*);
85 void error(
const std::string&);
88 void warning(
const std::string&);
92 int parse(FILE*,
bool);
93 int parse(
const std::string&,
bool);
97 TopicManagerPrx findManagerById(
const std::string&, std::string&)
const;
99 TopicPrx findTopic(
const std::string&)
const;
103 void exception(
const Ice::Exception&,
bool =
false);
107 const std::map<Ice::Identity, TopicManagerPrx> _managers;
108 std::string _commands;