Topology_Factory.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 /**
00004  *  @file Topology_Factory.h
00005  *
00006  *  Topology_Factory.h,v 1.5 2006/03/14 06:14:34 jtc Exp
00007  *
00008  *  @author Dale Wilson <wilson_d@ociweb.com>
00009  */
00010 
00011 #ifndef TAO_NOTIFY_TOPOLOGY_FACTORY_H
00012 #define TAO_NOTIFY_TOPOLOGY_FACTORY_H
00013 #include /**/ "ace/pre.h"
00014 
00015 #include "orbsvcs/Notify/notify_serv_export.h"
00016 
00017 #include "ace/Service_Object.h"
00018 
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif /* ACE_LACKS_PRAGMA_ONCE */
00022 
00023 #include "tao/Versioned_Namespace.h"
00024 
00025 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00026 
00027 namespace TAO_Notify
00028 {
00029   class Topology_Saver;
00030   class Topology_Loader;
00031 
00032   /**
00033    * @brief Service Object to allow dynamic control of the loaded saver factory.
00034    *
00035    */
00036   class TAO_Notify_Serv_Export Topology_Factory : public ACE_Service_Object
00037   {
00038   public:
00039     /// Create a Saver.
00040     /// \return a pointer to a Topology_Saver which must be deleted
00041     /// by the caller.
00042     virtual Topology_Saver* create_saver () = 0;
00043     /// Create a Loader
00044     /// \return a pointer to a Topology_Loader which must be deleted
00045     /// by the caller.
00046     virtual Topology_Loader* create_loader () = 0;
00047     virtual ~Topology_Factory ();
00048   };
00049 }
00050 
00051 TAO_END_VERSIONED_NAMESPACE_DECL
00052 
00053 #include /**/ "ace/post.h"
00054 #endif

Generated on Thu Nov 9 13:24:17 2006 for TAO_CosNotification by doxygen 1.3.6