include/LProcessor.h
00001 #ifndef LProcessor_H_
00002 #define LProcessor_H_
00003
00087
00088 #include <map>
00089 #include "UniSetTypes.h"
00090 #include "UniversalInterface.h"
00091 #include "Element.h"
00092 #include "Schema.h"
00093
00094 class LProcessor
00095 {
00096 public:
00097 LProcessor( const std::string name="" );
00098 virtual ~LProcessor();
00099
00100 virtual void execute( const string lfile );
00101
00102 protected:
00103
00104 virtual void build( const string& lfile );
00105
00106 virtual void step();
00107
00108 virtual void getInputs();
00109 virtual void processing();
00110 virtual void setOuts();
00111
00112 struct EXTInfo
00113 {
00114 UniSetTypes::ObjectId sid;
00115 UniversalIO::IOTypes iotype;
00116 bool state;
00117 const Schema::EXTLink* lnk;
00118 };
00119
00120 struct EXTOutInfo
00121 {
00122 UniSetTypes::ObjectId sid;
00123 UniversalIO::IOTypes iotype;
00124 const Schema::EXTOut* lnk;
00125 };
00126
00127 typedef std::list<EXTInfo> EXTList;
00128 typedef std::list<EXTOutInfo> OUTList;
00129
00130 EXTList extInputs;
00131 OUTList extOuts;
00132 SchemaXML sch;
00133
00134 UniversalInterface ui;
00135 int sleepTime;
00136 int smReadyTimeout;
00138 std::string logname;
00139
00140 private:
00141
00142
00143 };
00144
00145 #endif