BasicBrainComponentI.C

00001 #include "Robots/SeaBeeIII/BasicBrainComponentI.H"
00002 
00003 #include "Component/ModelParam.H"
00004 #include "Component/ModelOptionDef.H"
00005 
00006 #ifndef BASICBRAINCOMPONENTI_C
00007 #define BASICBRAINCOMPONENTI_C
00008 
00009 // ######################################################################
00010 BasicBrainComponentI::BasicBrainComponentI(int id, OptionManager& mgr,
00011                 const std::string& descrName, const std::string& tagName) :
00012         RobotBrainComponent(mgr, descrName, tagName)
00013 {
00014 
00015 }
00016 
00017 // ######################################################################
00018 BasicBrainComponentI::~BasicBrainComponentI()
00019 {
00020 
00021 }
00022 
00023 // ######################################################################
00024 void BasicBrainComponentI::registerTopics()
00025 {
00026   /* Example of how to register as a publisher/subscriber to topics */
00027 
00028   registerPublisher("ChatMessage");
00029   registerSubscription("ChatMessage");
00030 }
00031 
00032 // ######################################################################
00033 void BasicBrainComponentI::evolve()
00034 {
00035         RobotSimEvents::ChatMessagePtr msg;
00036         msg = new RobotSimEvents::ChatMessage;
00037 
00038         string input;
00039         cin >> input;
00040 
00041         msg->text = input;
00042         msg->from = "John";
00043 
00044 
00045 
00046         publish("ChatMessage",msg);
00047 
00048 
00049 
00050   // evolve() loops forever. Do stuff here...
00051 }
00052 
00053 // ######################################################################
00054 void BasicBrainComponentI::updateMessage(const RobotSimEvents::EventMessagePtr& eMsg,
00055                 const Ice::Current&)
00056 {
00057   /* Example of how to parse received message. */
00058 
00059   if(eMsg->ice_isA("::RobotSimEvents::ChatMessage"))
00060     {
00061       RobotSimEvents::ChatMessagePtr msg = RobotSimEvents::ChatMessagePtr::dynamicCast(eMsg);
00062 
00063       LINFO("%s: %s", msg->from.c_str(), msg->text.c_str());
00064 
00065       }
00066 }
00067 
00068 #endif
Generated on Sun May 8 08:41:32 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3