diff --git a/alib2dummy/src/CreateDataType.cpp b/alib2dummy/src/CreateDataType.cpp index cf7a5b811194d7c012a1dfe3155473b0e6daba6a..5ef0ff77f91ed2e2e017c7a5ef422e74015d8844 100644 --- a/alib2dummy/src/CreateDataType.cpp +++ b/alib2dummy/src/CreateDataType.cpp @@ -1,3 +1,10 @@ +/* + * CreateDataType.cpp + * + * Created on: Dec 7, 2017 + * Author: Jan Travnicek + */ + #include "DataType.h" #include <registration/AlgoRegistration.hpp> #include <iostream> diff --git a/alib2dummy/src/DataType.cpp b/alib2dummy/src/DataType.cpp index 569b1c8f95750f2ca0b6152c3728a4de1e60c800..8131aa1efe633fba24863c45ddef2ce2e0997e48 100644 --- a/alib2dummy/src/DataType.cpp +++ b/alib2dummy/src/DataType.cpp @@ -1,3 +1,10 @@ +/* + * DataType.cpp + * + * Created on: Dec 7, 2017 + * Author: Jan Travnicek + */ + #include <typeinfo> #include <registration/ValuePrinterRegistration.hpp> #include "DataType.h" @@ -7,4 +14,3 @@ namespace { static auto valuePrinter = registration::ValuePrinterRegister < DataType > ( ); } - diff --git a/alib2dummy/src/DataType.h b/alib2dummy/src/DataType.h index 556345655aebf621cbe4658ebc32389c0231da89..6cd46fa109cd9153dac7529a921f5e68bf144b8c 100644 --- a/alib2dummy/src/DataType.h +++ b/alib2dummy/src/DataType.h @@ -1,3 +1,10 @@ +/* + * DataType.h + * + * Created on: Dec 7, 2017 + * Author: Jan Travnicek + */ + #include <ostream> class DataType { diff --git a/alib2dummy/src/xml/DataType.cpp b/alib2dummy/src/xml/DataType.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e0558f19fc19ccd64515c4c92f4ce2005be76f07 --- /dev/null +++ b/alib2dummy/src/xml/DataType.cpp @@ -0,0 +1,45 @@ +/* + * DataType.cpp + * + * Created on: Mar 26, 2013 + * Author: Jan Travnicek + */ + +#include "DataType.h" +#include <primitive/xml/Integer.h> +#include <object/Object.h> + +#include <registration/XmlRegistration.hpp> + +namespace alib { + +DataType xmlApi < DataType >::parse ( ext::deque < sax::Token >::iterator & input ) { + sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::START_ELEMENT, xmlTagName ( ) ); + int value = xmlApi < int >::parse ( input ); + sax::FromXMLParserHelper::popToken ( input, sax::Token::TokenType::END_ELEMENT, xmlTagName ( ) ); + return DataType ( value ); +} + +bool xmlApi < DataType >::first ( const ext::deque < sax::Token >::const_iterator & input ) { + return sax::FromXMLParserHelper::isToken ( input, sax::Token::TokenType::START_ELEMENT, xmlTagName ( ) ); +} + +const std::string & xmlApi < DataType >::xmlTagName ( ) { + static std::string xmlTagName = "DataType"; + return xmlTagName; +} + +void xmlApi < DataType >::compose ( ext::deque < sax::Token > & output, const DataType & data ) { + output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::START_ELEMENT); + xmlApi < int >::compose ( output, data.getA ( ) ); + output.emplace_back ( xmlTagName ( ), sax::Token::TokenType::END_ELEMENT ); +} + +} /* namespace alib */ + +namespace { + +static auto xmlWrite = registration::XmlWriterRegister < DataType > ( ); +static auto xmlRead = registration::XmlReaderRegister < DataType > ( ); + +} /* namespace */ diff --git a/alib2dummy/src/xml/DataType.h b/alib2dummy/src/xml/DataType.h new file mode 100644 index 0000000000000000000000000000000000000000..2ffc0f61eb05091306effff6d2c950a71cda9684 --- /dev/null +++ b/alib2dummy/src/xml/DataType.h @@ -0,0 +1,26 @@ +/* + * DataType.h + * + * Created on: Dec 8, 2017 + * Author: Jan Travnicek + */ + +#ifndef _XML_DATA_TYPE_H_ +#define _XML_DATA_TYPE_H_ + +#include <DataType.h> +#include <core/xmlApi.hpp> + +namespace alib { + +template < > +struct xmlApi < DataType > { + static DataType parse ( ext::deque < sax::Token >::iterator & input ); + static bool first ( const ext::deque < sax::Token >::const_iterator & input ); + static const std::string & xmlTagName ( ); + static void compose ( ext::deque < sax::Token > & output, const DataType & data ); +}; + +} /* namespace alib */ + +#endif /* _XML_DATA_TYPE_H_ */