00001 /* 00002 * ParticipantControl.h 00003 * 00004 * Created on: 28.07.2009 00005 * Author: marc 00006 */ 00007 00008 #ifndef SEMAINE_COMPONENTS_CONTROL_PARTICIPANTCONTROL_H 00009 #define SEMAINE_COMPONENTS_CONTROL_PARTICIPANTCONTROL_H 00010 00011 #include <semaine/components/Component.h> 00012 #include <semaine/cms/sender/StateSender.h> 00013 #include <semaine/cms/receiver/StateReceiver.h> 00014 #include <semaine/datatypes/stateinfo/StateInfo.h> 00015 #include <cms/CMSException.h> 00016 00017 namespace semaine { 00018 00019 namespace components { 00020 00021 namespace control { 00022 00023 class ParticipantControl: public semaine::components::Component { 00024 public: 00025 ParticipantControl() throw(CMSException); 00026 virtual ~ParticipantControl(); 00027 void sendContextInfo(const std::string & userPresent, const std::string & character); 00028 protected: 00029 void react(SEMAINEMessage * message) throw (std::exception); 00030 void customStartIO() throw(std::exception); 00031 private: 00032 semaine::cms::sender::StateSender * contextSender; 00033 semaine::cms::receiver::StateReceiver * contextReceiver; 00034 }; 00035 00036 } 00037 00038 } 00039 00040 } 00041 00042 #endif /* SEMAINE_COMPONENTS_CONTROL_PARTICIPANTCONTROL_H */