00001 #ifndef CONNECTOR_H 00002 #define CONNECTOR_H 00003 #include <list> 00004 #include <string> 00005 #include <stdio.h> 00006 #include <time.h> 00007 #include <assert.h> 00008 #include <iostream> 00009 #include "Connection.h" 00010 #include "InputConnection.h" 00011 #include "OutputConnection.h" 00012 #include "FilterConnection.h" 00013 #include "ConnectionFactory.h" 00014 #include "ConnectionWrap.h" 00015 #include "MessageExecutor.h" 00016 #include "BufferedFileFactory.h" 00017 #include "Clock.h" 00022 class Connector { 00023 public: 00027 Connector(); 00031 virtual ~Connector(); 00035 Connector(int start); 00039 Connector(int inputPort,int outputPort,int filterPort, int configPort); 00043 int lastUpdate(); 00047 void lastChange(); 00051 void updated(); 00055 list<ConnectionWrap *> * getConnectionList(); 00059 void disconnect(int fd); 00063 void unPatch(int fhFrom, int fhTo); 00067 void patch(int fhFrom,int fhTo); 00071 void sendUpdate(); 00075 void process(); 00079 void shutDown(); 00083 bool done(); 00084 private: 00085 bool quit; 00086 void * messageExecutor; 00087 list<ConnectionWrap *> * allConnections; //FilterConnections and subclasses 00088 list<ConfigConnection *> * configConnections; //ConfigConnections 00089 ConfigConnection * currentConfig; 00090 ConnectionFactory * connectionFactory; 00091 BufferedFileFactory * bf; 00092 void init(int inputPort,int outputPort,int filterPort, int configPort); 00093 int lastUpdated; 00094 int processUpdate; 00095 }; 00096 #include "ConnectorSingleton.h" 00097 #endif