Seq_Worker_T.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 /**
00004  *  @file Seq_Worker_T.h
00005  *
00006  *  Seq_Worker_T.h,v 1.10 2006/03/14 06:14:34 jtc Exp
00007  *
00008  *  @author Pradeep Gore <pradeep@oomworks.com>
00009  */
00010 
00011 #ifndef TAO_Notify_SEQ_WORKER_T_H
00012 #define TAO_Notify_SEQ_WORKER_T_H
00013 #include /**/ "ace/pre.h"
00014 
00015 #include "orbsvcs/Notify/notify_serv_export.h"
00016 
00017 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00018 # pragma once
00019 #endif /* ACE_LACKS_PRAGMA_ONCE */
00020 
00021 #include "orbsvcs/ESF/ESF_Proxy_Collection.h"
00022 #include "orbsvcs/ESF/ESF_Worker.h"
00023 #include "orbsvcs/Notify/Container_T.h"
00024 
00025 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00026 
00027 /**
00028  * @class TAO_Notify_Seq_Worker_T
00029  *
00030  * @brief Helper to construct a sequence of IDS in a collections.
00031  *
00032  */
00033 template <class TYPE>
00034 class TAO_Notify_Serv_Export TAO_Notify_Seq_Worker_T
00035   : public TAO_ESF_Worker<TYPE>
00036 {
00037   typedef TAO_Notify_Container_T<TYPE> CONTAINER;
00038   typedef TAO_ESF_Proxy_Collection<TYPE> COLLECTION;
00039   typedef typename TYPE::SEQ SEQ;
00040   typedef typename TYPE::SEQ_VAR SEQ_VAR;
00041 
00042 public:
00043   /// Constructor
00044   TAO_Notify_Seq_Worker_T (void);
00045 
00046   /// create a SEQ
00047   SEQ* create (CONTAINER& container ACE_ENV_ARG_DECL);
00048 
00049 protected:
00050   ///= TAO_ESF_Worker method
00051   void work (TYPE* object ACE_ENV_ARG_DECL);
00052 
00053   /// The result
00054   SEQ_VAR seq_;
00055 };
00056 
00057 TAO_END_VERSIONED_NAMESPACE_DECL
00058 
00059 #if defined (__ACE_INLINE__)
00060 #include "orbsvcs/Notify/Seq_Worker_T.inl"
00061 #endif /* __ACE_INLINE__ */
00062 
00063 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00064 #include "orbsvcs/Notify/Seq_Worker_T.cpp"
00065 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
00066 
00067 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
00068 #pragma implementation ("Seq_Worker_T.cpp")
00069 #endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
00070 
00071 #include /**/ "ace/post.h"
00072 #endif /* TAO_Notify_SEQ_WORKER_T_H */

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