00001 00002 // 00003 // Fichero : fndefichero.h 00004 // Autor : 00005 // Fecha creacion : 00006 // 00007 // Descripcion : Objeto funcion que lee mensajes de un fichero 00008 // 00009 // Notas 00010 // - Requiere que el mensaje se cree en el mensaje tenga 00011 // el constructor TipoMensaje(std::istream &) 00012 // 00014 00015 #ifndef __FNDEFICHERO_H__ 00016 #define __FNDEFICHERO_H__ 00017 00018 #include "jic/exc/excepcion.hpp" 00019 #include "jic/task/producers/excmensnoconst.hpp" 00020 #include "jic/task/CFnProducer.hpp" 00021 #include "jic/task/CMessageBlock.hpp" 00022 00023 namespace TASK { 00024 namespace PRODUCERS { 00025 00026 //----------------------------------------------------------------- 00027 // Clase Template : FnDeFichero 00028 //----------------------------------------------------------------- 00029 template<class TipoMensaje> 00030 class FnDeFichero : public TASK::CFnProducer<TipoMensaje> 00031 { 00032 public: 00033 FnDeFichero(const std::string & nombreFichero); 00034 // throw (ExcFicheroNoEncontrado) 00035 00036 TASK::CMessageBlock<TipoMensaje>* operator() (); 00037 00038 protected: 00039 ifstream _in; 00040 }; 00041 00042 #ifdef ACE_TEMPLATES_REQUIRE_SOURCE 00043 #include "fndefichero.cpp" 00044 #endif 00045 00046 } // PRODUCERS 00047 } // TASK 00048 00049 #endif