00001 00002 #ifndef CFnProducer_h 00003 #define CFnProducer_h 1 00004 00005 // CObjFunction 00006 #include "jic/task/CObjFunction.hpp" 00007 00008 namespace TASK { 00009 00010 template <class MessageType> 00011 class CFnProducer : public CObjFunction 00012 { 00013 00014 public: 00015 CFnProducer(); 00016 00017 virtual ~CFnProducer(); 00018 00019 virtual CMessageBlock<MessageType>* operator () () = 0; 00020 00021 // Additional Public Declarations 00022 00023 protected: 00024 // Additional Protected Declarations 00025 00026 private: 00027 CFnProducer(const CFnProducer< MessageType > &right); 00028 00029 CFnProducer< MessageType > & operator=(const CFnProducer< MessageType > &right); 00030 00031 // Additional Private Declarations 00032 00033 private: 00034 // Additional Implementation Declarations 00035 00036 }; 00037 00038 // Parameterized Class TASK::CFnProducer 00039 00040 } // namespace TASK 00041 00042 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE) 00043 #include "CFnProducer.cpp" 00044 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ 00045 00046 #endif