00001 /* -*- C++ -*- */ 00002 00003 //============================================================================= 00004 /** 00005 * @file Event_Persistence_Strategy.h 00006 * 00007 * $Id: Event_Persistence_Strategy.h 71526 2006-03-14 06:14:35Z jtc $ 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_STRATEGY_H 00016 #define EVENT_PERSISTENCE_STRATEGY_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 #include "ace/Service_Object.h" 00027 00028 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00029 00030 namespace TAO_Notify 00031 { 00032 class Event_Persistence_Factory; 00033 00034 /// Interface to be implemented by specific strategies 00035 class TAO_Notify_Serv_Export Event_Persistence_Strategy: public ACE_Service_Object 00036 { 00037 public: 00038 00039 // get the current factory, creating it if necessary 00040 virtual Event_Persistence_Factory * get_factory () = 0; 00041 00042 // release the current factory so a new one can be created 00043 virtual void reset () = 0; 00044 }; 00045 00046 } // namespace TAO_Notify 00047 00048 TAO_END_VERSIONED_NAMESPACE_DECL 00049 00050 #include /**/ "ace/post.h" 00051 #endif /* EVENT_PERSISTENCE_STRATEGY_H */