Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

EventChannelFactory.h

Go to the documentation of this file.
00001 // -*- Mode: C++; -*-
00002 //                            Package   : omniEvents
00003 // EventChannelFactory_i.h    Created   : 1/4/98
00004 //                            Author    : Paul Nader (pwn)
00005 //
00006 //    Copyright (C) 1998 Paul Nader.
00007 //
00008 //    This file is part of the omniEvents application.
00009 //
00010 //    omniEvents is free software; you can redistribute it and/or
00011 //    modify it under the terms of the GNU Lesser General Public
00012 //    License as published by the Free Software Foundation; either
00013 //    version 2.1 of the License, or (at your option) any later version.
00014 //
00015 //    omniEvents is distributed in the hope that it will be useful,
00016 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018 //    Lesser General Public License for more details.
00019 //
00020 //    You should have received a copy of the GNU Lesser General Public
00021 //    License along with this library; if not, write to the Free Software
00022 //    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
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 // Event Channel Factory
00053 
00054 class EventChannelFactory_i :
00055   public virtual POA_EventChannelAdmin::EventChannelFactory,
00056   public Servant
00057 {
00058 public: // CORBA METHODS
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 }; // namespace OmniEvents
00082 
00083 #endif // OMNIEVENTS_EVENTCHANNELFACTORY_H

Generated on Fri Dec 12 10:53:02 2003 for OmniEvents by doxygen1.2.15