35 #ifndef _Wolframe_FILTER_OUTPUTFILTER_INTERFACE_HPP_INCLUDED
36 #define _Wolframe_FILTER_OUTPUTFILTER_INTERFACE_HPP_INCLUDED
100 virtual bool print(
ElementType type,
const void* element, std::size_t elementsize)=0;
108 return print( type, element.c_str(), element.size());
114 virtual void getOutput(
const void*& buf, std::size_t& bufsize)=0;
117 virtual bool close()=0;
126 throw std::runtime_error(
"cannot set output meta data anymore after first call of print");
158 void setAttribute(
const std::string& name_,
const std::string& value_)
162 throw std::runtime_error(
"cannot set output meta data anymore after first call of print");
173 throw std::runtime_error(
"cannot set document type anymore after first call of print");
virtual bool print(ElementType type, const void *element, std::size_t elementsize)=0
Print the follow element to the buffer.
virtual bool close()=0
Print the final close tag, if not printed yet, to close the output.
serving data - normal input processing
Definition: outputfilter.hpp:58
types::DocMetaDataR m_inheritMetadata
reference to meta data inherited from input
Definition: outputfilter.hpp:191
have to stop processing with an error
Definition: outputfilter.hpp:60
Base of a content input/ouput filter.
Definition: filterbase.hpp:140
virtual void getOutput(const void *&buf, std::size_t &bufsize)=0
Get the last output chunk.
State
State of the input filter used in the application processor iterating loop to decide what to do...
Definition: outputfilter.hpp:55
virtual void inheritMetaData(const types::DocMetaDataR mdr)
Declare the inherited document meta data.
Definition: outputfilter.hpp:141
Shared reference to an object exchangeable in a single thread context.
void setAttribute(const std::string &name_, const std::string &value_)
Set one document meta data element.
Definition: outputfilter.hpp:158
void setState(State s, const char *msg=0)
Set output filter state with error message.
Definition: outputfilter.hpp:153
virtual ~OutputFilter()
Destructor.
Definition: outputfilter.hpp:89
types::DocMetaData m_metadata
document meta data
Definition: outputfilter.hpp:192
virtual OutputFilter * copy() const =0
Get a self copy.
OutputFilter(const OutputFilter &o)
Copy constructor.
Definition: outputfilter.hpp:80
state after first initialization
Definition: outputfilter.hpp:57
State state() const
Get the current state.
Definition: outputfilter.hpp:148
void setMetaData(const types::DocMetaData &md)
Initialize the document meta data.
Definition: outputfilter.hpp:122
types::DocMetaData getMetaData() const
Get the document meta data.
Definition: outputfilter.hpp:132
ElementType
Content element type that describes the role of the element in the structured input.
Definition: filterbase.hpp:66
void setError(const char *msg=0)
Set input filter error message.
Definition: filterbase.hpp:91
Output filter.
Definition: outputfilter.hpp:49
OutputFilter(const char *name_, const types::DocMetaDataR &inheritMetadata_)
Constructor.
Definition: outputfilter.hpp:64
State m_state
state
Definition: outputfilter.hpp:189
void setDoctype(const std::string &id_)
Set the document type meta data element.
Definition: outputfilter.hpp:169
bool print(ElementType type, const std::string &element)
Print the follow element to the buffer.
Definition: outputfilter.hpp:106
types::SharedReference< OutputFilter > OutputFilterR
Shared output filter (langbind::OutputFilter) reference.
Definition: outputfilter.hpp:197
boost::shared_ptr< DocMetaData > DocMetaDataR
Shared meta data reference.
Definition: docmetadata.hpp:143
OutputFilter(const char *name_)
Constructor.
Definition: outputfilter.hpp:72
unsigned int m_outputChunkSize
output chunk size
Definition: outputfilter.hpp:190
Common definitions of input and output filter.
unsigned int outputChunkSize() const
Definition: outputfilter.hpp:183
void setOutputChunkSize(unsigned int outputChunkSize_)
Definition: outputfilter.hpp:178
have to yield processing because end of message reached
Definition: outputfilter.hpp:59