00001 /* -*- C++ -*- */ 00002 00003 //============================================================================= 00004 /** 00005 * @file Event_Persistence_Factory.h 00006 * 00007 * Event_Persistence_Factory.h,v 1.6 2006/03/14 06:14:34 jtc Exp 00008 * 00009 * A factory class that creates a Routing_Slip_Persistence_Manager. 00010 * 00011 * @author Jonathan Pollack <pollack_j@ociweb.com> 00012 */ 00013 //============================================================================= 00014 00015 #ifndef EVENT_PERSISTENCE_FACTORY_H 00016 #define EVENT_PERSISTENCE_FACTORY_H 00017 #include /**/ "ace/pre.h" 00018 00019 #include "orbsvcs/Notify/notify_serv_export.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 #pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #include "tao/Versioned_Namespace.h" 00026 00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00028 00029 namespace TAO_Notify 00030 { 00031 class Routing_Slip_Persistence_Manager; 00032 class Persistent_Callback; 00033 00034 /// interface to be implemented by specific Event_Persistence_Factories 00035 class TAO_Notify_Serv_Export Event_Persistence_Factory 00036 { 00037 public: 00038 virtual ~Event_Persistence_Factory(); 00039 00040 /// Create a Persistence Manager 00041 virtual Routing_Slip_Persistence_Manager * 00042 create_routing_slip_persistence_manager (Persistent_Callback * callback) = 0; 00043 00044 /// Begin the reload process by returning the first Routing_Slip_Persistence_Manager 00045 /// to continue call Routing_Slip_Persistence_Manager::load_next () 00046 virtual Routing_Slip_Persistence_Manager * first_reload_manager () = 0; 00047 00048 }; 00049 } // namespace TAO_Notify 00050 00051 TAO_END_VERSIONED_NAMESPACE_DECL 00052 00053 #include /**/ "ace/post.h" 00054 #endif /* EVENT_PERSISTENCE_FACTORY_H */