00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * \file Save_Persist_Worker_T.h 00006 * 00007 * Save_Persist_Worker_T.h,v 1.4 2006/03/14 06:14:34 jtc Exp 00008 * 00009 * \author Jonathan Pollack <pollack_j@ociweb.com> 00010 */ 00011 //============================================================================= 00012 00013 #ifndef SAVE_PERSIST_WORKER_H 00014 #define SAVE_PERSIST_WORKER_H 00015 #include /**/ "ace/pre.h" 00016 00017 #include "orbsvcs/ESF/ESF_Worker.h" 00018 00019 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00020 #pragma once 00021 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00022 00023 00024 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00025 00026 namespace TAO_Notify 00027 { 00028 /** 00029 * \brief Iterate through children saving persistent topology information. 00030 */ 00031 template<class TOPOOBJ> 00032 class Save_Persist_Worker : public TAO_ESF_Worker<TOPOOBJ> 00033 { 00034 public: 00035 /** 00036 * /brief Constructor 00037 * /param saver the object that will save persistent information. 00038 * /param want_all_children if true, unmodified children should be saved, too. 00039 */ 00040 Save_Persist_Worker(Topology_Saver& saver, bool want_all_children); 00041 00042 // override virtual ESF_Worker method 00043 virtual void work (TOPOOBJ* o ACE_ENV_ARG_DECL); 00044 00045 private: 00046 Topology_Saver& saver_; 00047 bool want_all_children_; 00048 }; 00049 } // namespace TAO_Notify 00050 00051 TAO_END_VERSIONED_NAMESPACE_DECL 00052 00053 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE) 00054 #include "orbsvcs/Notify/Save_Persist_Worker_T.cpp" 00055 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ 00056 00057 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) 00058 #pragma implementation ("Save_Persist_Worker_T.cpp") 00059 #endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ 00060 00061 #include /**/ "ace/post.h" 00062 00063 #endif /* SAVE_PERSIST_WORKER_H */