10#ifndef ICE_STORM_PARSER_H
11#define ICE_STORM_PARSER_H
17#include <IceStorm/IceStorm.h>
18#include <IceUtil/Handle.h>
24#define YYSTYPE std::list<std::string>
25#define YY_DECL int yylex(YYSTYPE* yylvalp)
36#define YYMAXDEPTH 10000
44#define yyoverflow(a, b, c, d, e, f) yyerror(a)
55 class Parser :
public ::IceUtil::SimpleShared
60 const std::map<Ice::Identity, TopicManagerPrx>&);
64 void create(
const std::list<std::string>&);
65 void destroy(
const std::list<std::string>&);
66 void link(
const std::list<std::string>&);
67 void unlink(
const std::list<std::string>&);
68 void links(
const std::list<std::string>&);
69 void topics(
const std::list<std::string>&);
70 void replica(
const std::list<std::string>&);
72 void current(
const std::list<std::string>&);
82 void getInput(
char*,
size_t&,
size_t);
87 void error(
const char*);
95 int parse(FILE*,
bool);
96 int parse(
const std::string&,
bool);
99 TopicManagerPrx findManagerById(
const std::string&, std::string&)
const;
101 TopicPrx findTopic(
const std::string&)
const;
105 const std::map<Ice::Identity, TopicManagerPrx>&);
107 void exception(
const Ice::Exception&,
bool =
false);
111 const std::map<Ice::Identity, TopicManagerPrx> _managers;
112 std::string _commands;
void replica(const std::list< std::string > &)
void create(const std::list< std::string > &)
void destroy(const std::list< std::string > &)
void unlink(const std::list< std::string > &)
void subscribers(const std::list< std::string > &)
void warning(const char *)
void current(const std::list< std::string > &)
void links(const std::list< std::string > &)
void error(const std::string &)
void invalidCommand(const std::string &)
void getInput(char *, int &, size_t)
void warning(const std::string &)
void topics(const std::list< std::string > &)
void link(const std::list< std::string > &)
static ParserPtr createParser(const Ice::CommunicatorPtr &, const TopicManagerPrx &, const std::map< Ice::Identity, TopicManagerPrx > &)
::IceInternal::ProxyHandle<::IceProxy::IceStorm::Topic > TopicPrx
::IceUtil::Handle< Parser > ParserPtr
::IceInternal::ProxyHandle<::IceProxy::IceStorm::TopicManager > TopicManagerPrx
::IceInternal::Handle<::Ice::Communicator > CommunicatorPtr