35 #ifndef ANATOMIST_PROCESSOR_EVENT_H
36 #define ANATOMIST_PROCESSOR_EVENT_H
63 const std::set<std::string> & discrimintantAttribs
64 = std::set<std::string>() );
78 std::set<std::string> _discrim;
88 void filter(
const std::string & evtype );
89 void filter(
const std::set<std::string> & evtype );
91 void unfilter(
const std::set<std::string> & evtype );
92 const std::set<std::string> &
filters()
const {
return _filtered; }
99 std::set<std::string> _filtered;
118 static const std::map<std::string, std::set<carto::rc_ptr<EventHandler> > >
122 static std::map<std::string, std::set<carto::rc_ptr<EventHandler> > >
Event handlers are called internally when the default context outputs an event.
static const std::map< std::string, std::set< carto::rc_ptr< EventHandler > > > & handlers()
virtual void doit(const OutputEvent &)=0
this method should be defined by derived classes to do something when an event of the matching type o...
static void registerHandler(const std::string &evtype, carto::rc_ptr< EventHandler >)
static void unregisterHandler(const std::string &evtype, carto::rc_ptr< EventHandler >)
Filering of events sent to the external wolrd (output streams)
bool isDefaultFiltering() const
void setDefaultIsFiltering(bool)
void filter(const std::set< std::string > &evtype)
void filter(const std::string &evtype)
const std::set< std::string > & filters() const
void unfilter(const std::set< std::string > &evtype)
void unfilter(const std::string &evtype)
This class holds events to send to output streams so that external programs are notified when somethi...
virtual void send()
sends the event to all output streams
OutputEvent(const std::string &evname, carto::Object contents, bool allocIDs=true, const std::set< std::string > &discrimintantAttribs=std::set< std::string >())
Builds an Event.
std::string eventType() const
carto::Object contents() const