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"
00018
00019 class Connector {
00020 public:
00021 Connector();
00022 virtual ~Connector();
00023 Connector(int start);
00024 Connector(int inputPort,int outputPort,int filterPort, int configPort);
00025 int lastUpdate();
00026 void lastChange();
00027 void updated();
00028 list<ConnectionWrap *> * getConnectionList();
00029 void disconnect(int fd);
00030 void unPatch(int fhFrom, int fhTo);
00031 void patch(int fhFrom,int fhTo);
00032 void sendUpdate();
00033 void process();
00034 void shutDown();
00035 bool done();
00036 private:
00037 bool quit;
00038 void * messageExecutor;
00039 list<ConnectionWrap *> * allConnections;
00040 list<ConfigConnection *> * configConnections;
00041 ConfigConnection * currentConfig;
00042 ConnectionFactory * connectionFactory;
00043 BufferedFileFactory * bf;
00044 void init(int inputPort,int outputPort,int filterPort, int configPort);
00045 int lastUpdated;
00046 };
00047 #include "ConnectorSingleton.h"
00048 #endif