00001 #ifndef _ENDOSCOUTMODULE_H
00002 #define _ENDOSCOUTMODULE_H
00003
00004 #include <OpenTracker/OpenTracker.h>
00005 #include <OpenTracker/dllinclude.h>
00006 #include "EndoScoutSource.h"
00007
00008 #include <ace/SOCK_Stream.h>
00009 #include <ace/SOCK_Connector.h>
00010
00011
00012 #include <vector>
00013
00014 namespace ot {
00015
00016 class OPENTRACKER_API EndoScoutModule : public ThreadModule, public NodeFactory
00017 {
00018
00019 protected:
00020
00021 int stop;
00022 ACE_INET_Addr address;
00023 ACE_SOCK_Stream socket;
00024 ACE_SOCK_Connector connector;
00025
00026 NodeVector sources;
00027
00028 int connect();
00029
00030
00031 protected:
00032 void run();
00033
00034 public:
00036 EndoScoutModule();
00037
00039 virtual ~EndoScoutModule();
00045 virtual void init(StringTable& attributes, ConfigNode * localTree);
00053 virtual Node * createNode( const std::string& name, StringTable& attributes);
00057 virtual void start();
00061 virtual void close();
00067 virtual void pushEvent();
00068 };
00069 OT_MODULE(EndoScoutModule);
00070
00071 }
00072
00073 #endif