#ifndef __XMLIO_DATA_OUTPUT__ #define __XMLIO_DATA_OUTPUT__ /// xmlioserver headers /// #include "xmlioserver_spl.hpp" #include "exception.hpp" #include "grid.hpp" #include "field.hpp" #include #include namespace xmlioserver { namespace io { /// ////////////////////// Déclarations ////////////////////// /// class CDataOutput { public : /// Définition de type /// typedef enum { ONE_FILE = 0, MULTI_GROUP, MULTI_FILE } EDataOutputType; /// Ecriture /// void writeFile (const boost::shared_ptr file); void writeField (const boost::shared_ptr field); void writeFieldGrid(const boost::shared_ptr field); void writeFieldData(const boost::shared_ptr field); virtual void definition_start(void) = 0; virtual void definition_end(void) = 0; virtual ~CDataOutput(void); protected: /// Ecriture /// void writeGrid(const boost::shared_ptr grid); void writeGrid(const boost::shared_ptr domain, const boost::shared_ptr axis); void writeGrid(const boost::shared_ptr domain); virtual void writeFile_ (const boost::shared_ptr file) = 0; virtual void writeField_ (const boost::shared_ptr field) = 0; virtual void writeFieldData_ (const boost::shared_ptr field) = 0; virtual void writeDomain_ (const boost::shared_ptr domain) = 0; virtual void writeAxis_ (const boost::shared_ptr axis) = 0; virtual void writeTimeAxis_ (const boost::shared_ptr field, const boost::shared_ptr cal) = 0; /// Propriétés protégées /// EDataOutputType type; }; // class CDataOutput } // namespace io } // namespace xmlioserver #endif //__XMLIO_DATA_OUTPUT__