00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef OMNIEVENTS_EVENTCHANNELFACTORY_H
00026 #define OMNIEVENTS_EVENTCHANNELFACTORY_H
00027
00028 #ifdef HAVE_CONFIG_H
00029 # include "config.h"
00030 #endif
00031
00032 #ifdef HAVE_IOSTREAM
00033 # include <iostream>
00034 #else
00035 # include <iostream.h>
00036 #endif
00037
00038 #include <set>
00039
00040 #include "EventChannelAdmin.hh"
00041 #include "Servant.h"
00042 #include "oep_types.h"
00043
00044 #ifdef HAVE_STD_STL
00045 using namespace std;
00046 #endif
00047
00048 namespace OmniEvents {
00049
00050 class EventChannel_i;
00051
00052
00053
00054 class EventChannelFactory_i :
00055 public virtual POA_EventChannelAdmin::EventChannelFactory,
00056 public Servant
00057 {
00058 public:
00064 CORBA::Boolean supports(const CosLifeCycle::Key& k);
00065 CORBA::Object_ptr create_object(
00066 const CosLifeCycle::Key &k,
00067 const CosLifeCycle::Criteria &the_criteria
00068 );
00069
00070 public:
00071 EventChannelFactory_i(unsigned int port);
00073 EventChannelFactory_i(unsigned int port, OepEcpsList&);
00074 void output(ostream& os);
00075
00076 private:
00077 unsigned int _port;
00078 set<EventChannel_i*> _eventChannels;
00079 };
00080
00081 };
00082
00083 #endif // OMNIEVENTS_EVENTCHANNELFACTORY_H