UniSet  1.4.0
LogicProcessor/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