Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

CProcessor.hpp

Go to the documentation of this file.
00001 
00002 #ifndef CProcessor_h
00003 #define CProcessor_h 1
00004 
00005 #include "jic/exc/CCreateException.hpp"
00006 
00007 // CFnProcessor
00008 #include "jic/task/CFnProcessor.hpp"
00009 // CChainTask
00010 #include "jic/task/CChainTask.hpp"
00011 
00012 namespace TASK {
00013 
00014   //    Recibe, procesa y envia mensajes (hace get y put).
00015   //    Tendra un objeto funcion que realice el trabajo.
00016   //    Notas: Al solo soportarse de momento 1 solo controlador
00017   //    por cadena, en el constructor no se puede pasar un
00018   //    controlador.
00019 
00020   template <class MessageType>
00021   class CProcessor : public CChainTask<MessageType>  
00022   {
00023 
00024     public:
00025         CProcessor();
00026 
00027         //      El task no libera el objeto funcion, solo se queda con
00028         //      su "referencia".
00029         CProcessor (const CFnProcessor<MessageType> *fnProcessor, std::string strName = "Procesador", int nThreads = 1) throw (CCreateException);
00030 
00031         ~CProcessor();
00032 
00033       // Additional Public Declarations
00034 
00035     protected:
00036 
00037         virtual void specificStep () /*throw (CTaskException) */;
00038 
00039       // Additional Protected Declarations
00040 
00041     private:
00042         CProcessor(const CProcessor< MessageType > &right);
00043 
00044         CProcessor< MessageType > & operator=(const CProcessor< MessageType > &right);
00045 
00046       // Additional Private Declarations
00047 
00048     private: 
00049       // Data Members for Class Attributes
00050 
00051         CfnProcessor<MessageType> *m_fnProcessor;
00052 
00053       // Data Members for Associations
00054 
00055       // Additional Implementation Declarations
00056 
00057   };
00058 
00059   // Parameterized Class TASK::CProcessor 
00060 
00061 } // namespace TASK
00062 
00063 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00064 #include "CProcessor.cpp"
00065 #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
00066 
00067 #endif

Generated on Wed Mar 5 21:31:47 2003 for JIC by doxygen1.3-rc3