diff --git a/Makefile.header b/Makefile.header index 03a022b1..eb324266 100644 --- a/Makefile.header +++ b/Makefile.header @@ -35,8 +35,8 @@ CXXFLAGS = -Wall LDFLAGS = # Includes and library directories -INCS_DIRS = -I.. -Id:/usr/include -LIBS_DIRS = -Ld:/usr/dll +INCS_DIRS = -I.. -I/home/jez/arabica/arabica/include -I/cygdrive/c/usr/include/ +LIBS_DIRS = STATIC_LIBS = DYNAMIC_LIBS = -lwsock32 -lexpat -lstdc++ diff --git a/SAX/Makefile b/SAX/Makefile index a6ac9040..96fed0c7 100644 --- a/SAX/Makefile +++ b/SAX/Makefile @@ -56,16 +56,16 @@ libArabica$(LIBSUFFIX) : $(OBJS) #### # the .S files depends on symbols defined in this Makefile, hence # this slightly wacky rule -saxlib.cpp : ParserConfig.h ArabicaConfig.h saxlib.S +saxlib.cpp : ../include/SAX/ParserConfig.h ../include/SAX/ArabicaConfig.h saxlib.S $(CPP) $(PARSER_CONFIG) -o saxlib.cpp saxlib.S -ParserConfig.h : Makefile ../Makefile.header ParserConfig.S - $(CPP) $(PARSER_CONFIG) -o ParserConfig.h ParserConfig.S +../include/SAX/ParserConfig.h : Makefile ../Makefile.header ParserConfig.S + $(CPP) $(PARSER_CONFIG) -o ../include/SAX/ParserConfig.h ParserConfig.S -ArabicaConfig.h : Makefile ../Makefile.header ArabicaConfig.S - $(CPP) $(PARSER_CONFIG) -o ArabicaConfig.h ArabicaConfig.S +../include/SAX/ArabicaConfig.h : Makefile ../Makefile.header ArabicaConfig.S + $(CPP) $(PARSER_CONFIG) -o ../include/SAX/ArabicaConfig.h ArabicaConfig.S -%.cpp : ArabicaConfig.h ParserConfig.h +%.cpp : ../include/SAX/ArabicaConfig.h ../include/SAX/ParserConfig.h Makefile : @@ -74,7 +74,7 @@ Makefile : ############################################# # Cleaning up clean : - $(REMOVE) wrappers/*.o $(OBJS) libArabica* ../bin/libArabica* saxlib.cpp ParserConfig.h ArabicaConfig.h + $(REMOVE) wrappers/*.o $(OBJS) libArabica* ../bin/libArabica* saxlib.cpp ../include/SAX/ParserConfig.h ../include/SAX/ArabicaConfig.h # End of File diff --git a/SAX/helpers/InputSourceResolver.cpp b/SAX/helpers/InputSourceResolver.cpp new file mode 100644 index 00000000..3d1a479d --- /dev/null +++ b/SAX/helpers/InputSourceResolver.cpp @@ -0,0 +1,159 @@ +/* + * $Id$ + */ + +#ifdef _MSC_VER +#pragma warning(disable: 4786) +#endif + +#include +#include +#include +#include + +InputSourceResolver::InputSourceResolver(const SAX::InputSource& inputSource) : + deleteStream_(false), + byteStream_(0) +{ + open(inputSource.getPublicId(), + inputSource.getSystemId(), + inputSource.getByteStream()); +} // InputSourceResolver + +void InputSourceResolver::open(const std::string& publicId, + const std::string& systemId, + std::istream* byteStream) +{ + if(byteStream != 0) + { + byteStream_ = byteStream; + return; + } + + // does it look like a URL? + std::string::size_type colonIndex = systemId.find("://"); + if(colonIndex != std::string::npos) + { + URIResolver res = findResolver(systemId.substr(0, colonIndex)); + if(res) + byteStream_ = res(systemId); + if(byteStream_) + { + deleteStream_ = true; + return; + } // if ... + } // if ... + + // try and open it as a file + std::ifstream* ifs = new std::ifstream(systemId.c_str()); + if(ifs->is_open()) + { + deleteStream_ = true; + byteStream_ = ifs; + } + else + delete ifs; +} // InputSourceResolver + +InputSourceResolver::~InputSourceResolver() +{ + if(deleteStream_) + delete byteStream_; +} // ~InputSourceResolver + +////////////////////////////////////////////////////// +// resolverMap register/unregister +bool InputSourceResolver::registerResolver(const std::string& method, URIResolver resolver) +{ + resolverMap()[method] = resolver; + return true; +} // registerResolver + +bool InputSourceResolver::unRegisterResolver(const std::string& method) +{ + resolverMapT::iterator i = resolverMap().find(method); + if(i != resolverMap().end()) + resolverMap().erase(i); + return true; +} // unRegisterResolver + +InputSourceResolver::URIResolver InputSourceResolver::findResolver(std::string method) +{ + resolverMapT::iterator i = resolverMap().find(method); + return (i != resolverMap().end()) ? i->second : 0; +} // findResolver + +namespace +{ + std::istream* fileResolver(const std::string& fileURL) + { + int colon = fileURL.find("://"); + std::string fileName = fileURL.substr(colon+3); + + std::ifstream* ifs = new std::ifstream(fileName.c_str()); + if(ifs->is_open()) + return ifs; + delete ifs; + + // WIN32 specific stuff + for(std::string::iterator i = fileName.begin(); i != fileName.end(); ++i) + if(*i == '/') + *i = '\\'; + + if((fileName[0] == '\\') && (fileName[2] == ':')) + fileName.erase(0, 1); + + ifs = new std::ifstream(fileName.c_str()); + if(ifs->is_open()) + return ifs; + delete ifs; + + return 0; + } // fileResolver + + static bool fileReg = InputSourceResolver::registerResolver("file", fileResolver); + + std::istream* httpResolver(const std::string& httpURL) + { +#ifdef ARABICA_WINDOWS + WORD wVersionRequested; + WSADATA wsaData; + int err; + + wVersionRequested = MAKEWORD(1, 1); + err = WSAStartup( wVersionRequested, &wsaData ); + if(err != 0) + return 0; +#endif + + int colon1 = httpURL.find("://"); + colon1 += 3; + //int colon2 = httpURL.find("://", colon1); + int slash1 = httpURL.find("/", colon1); + + std::string hostName = httpURL.substr(colon1, slash1 - (colon1)); + std::string path = httpURL.substr(slash1); + + Arabica::socketstream* ifs = new Arabica::socketstream(hostName.c_str(), 80); + if(!ifs->is_open()) + return 0; + *ifs << "GET " << path << " HTTP/1.0" << std::endl; + *ifs << "Host: " << hostName << std::endl; + *ifs << "Connection: close" << std::endl; + *ifs << std::endl; + + + char buffer[1024]; + do + { + ifs->getline(buffer, sizeof(buffer)); + } + while(buffer[0] != '\r'); + + return ifs; + } // httpResolver + + static bool httpReg = InputSourceResolver::registerResolver("http", httpResolver); +} // namespace + +// end of file diff --git a/SAX/saxlib.S b/SAX/saxlib.S index b7f504ab..0ee6a017 100644 --- a/SAX/saxlib.S +++ b/SAX/saxlib.S @@ -56,7 +56,7 @@ message("Pulling in Expat wrappers.") #endif ifndef ARABICA_NO_CODECVT_SPECIALISATIONS -include +include "../Utils/impl/codecvt_specialisations.cpp" endif #ifdef __GNUWIN32__ diff --git a/Utils/base64codecvt.cpp b/Utils/base64codecvt.cpp index 9d7d3c1d..797c4539 100644 --- a/Utils/base64codecvt.cpp +++ b/Utils/base64codecvt.cpp @@ -4,7 +4,7 @@ // /////////////////////////////////////////// -#include "base64codecvt.h" +#include static const std::string base64_charset("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"); static const int NO_MORE = 256; diff --git a/Utils/impl/codecvt_specialisations.cpp b/Utils/impl/codecvt_specialisations.cpp index 2a59b696..9e637814 100644 --- a/Utils/impl/codecvt_specialisations.cpp +++ b/Utils/impl/codecvt_specialisations.cpp @@ -1,4 +1,4 @@ -#include "codecvt_specialisations.h" +#include std::locale::id std::codecvt::id; diff --git a/Utils/impl/iso88591_utf8.cpp b/Utils/impl/iso88591_utf8.cpp index 9297a8b9..b4097858 100644 --- a/Utils/impl/iso88591_utf8.cpp +++ b/Utils/impl/iso88591_utf8.cpp @@ -1,7 +1,7 @@ //--------------------------------------------------------------------------- // $Id$ //--------------------------------------------------------------------------- -#include "iso88591_utf8.h" +#include //--------------------------------------------------------------------------- // Some of this code is derived from work done by Ken Thompson, // provided to the X/Open Group. diff --git a/Utils/impl/ucs2_utf16.cpp b/Utils/impl/ucs2_utf16.cpp index d222f92a..0e995e0b 100644 --- a/Utils/impl/ucs2_utf16.cpp +++ b/Utils/impl/ucs2_utf16.cpp @@ -1,6 +1,6 @@ // -------------------------------------------------------------------------- // -------------------------------------------------------------------------- -#include "ucs2_utf16.h" +#include // -------------------------------------------------------------------------- std::codecvt_base::result Arabica::Internal::utf16_2_ucs2(bool be, char const* from, char const* from_end, char const*& from_next, diff --git a/Utils/impl/ucs2_utf8.cpp b/Utils/impl/ucs2_utf8.cpp index 801aa53e..ec0088bd 100644 --- a/Utils/impl/ucs2_utf8.cpp +++ b/Utils/impl/ucs2_utf8.cpp @@ -1,7 +1,7 @@ //--------------------------------------------------------------------------- // $Id$ //--------------------------------------------------------------------------- -#include "ucs2_utf8.h" +#include //--------------------------------------------------------------------------- // Some of this code is derived from work done by Ken Thompson, // provided to the X/Open Group. diff --git a/Utils/iso88591utf8codecvt.cpp b/Utils/iso88591utf8codecvt.cpp index 46fcc13f..726b2df8 100644 --- a/Utils/iso88591utf8codecvt.cpp +++ b/Utils/iso88591utf8codecvt.cpp @@ -1,8 +1,8 @@ //--------------------------------------------------------------------------- // $Id$ //--------------------------------------------------------------------------- -#include "iso88591utf8codecvt.h" -#include "impl/iso88591_utf8.h" +#include +#include //--------------------------------------------------------------------------- // This facet converts from ISO8859:1 (Latin 1) chars to UTF-8 encoded chars. using namespace Arabica::convert; diff --git a/Utils/ucs2utf8codecvt.cpp b/Utils/ucs2utf8codecvt.cpp index 9ddfc72a..92ccfc01 100644 --- a/Utils/ucs2utf8codecvt.cpp +++ b/Utils/ucs2utf8codecvt.cpp @@ -1,8 +1,8 @@ //--------------------------------------------------------------------------- // $Id$ //--------------------------------------------------------------------------- -#include "ucs2utf8codecvt.hpp" -#include "impl/ucs2_utf8.h" +#include +#include //--------------------------------------------------------------------------- // This facet converts from wide chars to char using the // FSS-UTF (UCS2) encoding. diff --git a/Utils/utf16utf8codecvt.cpp b/Utils/utf16utf8codecvt.cpp index c2be5dbe..f7d5898c 100644 --- a/Utils/utf16utf8codecvt.cpp +++ b/Utils/utf16utf8codecvt.cpp @@ -1,8 +1,8 @@ //--------------------------------------------------------------------------- // $Id$ //--------------------------------------------------------------------------- -#include "utf16utf8codecvt.h" -#include "impl/ucs2_utf8.h" +#include +#include //--------------------------------------------------------------------------- // This facet converts from wide chars to char using the // FSS-UTF (UCS2) encoding. diff --git a/Utils/utf8iso88591codecvt.cpp b/Utils/utf8iso88591codecvt.cpp index 23d959bb..9e5dfaac 100644 --- a/Utils/utf8iso88591codecvt.cpp +++ b/Utils/utf8iso88591codecvt.cpp @@ -1,8 +1,8 @@ //--------------------------------------------------------------------------- // $Id$ //--------------------------------------------------------------------------- -#include "utf8iso88591codecvt.h" -#include "impl/iso88591_utf8.h" +#include +#include //--------------------------------------------------------------------------- // This facet converts from ISO8859:1 (Latin 1) chars to UTF-8 encoded chars. diff --git a/XML/XMLCharacterClasses.cpp b/XML/XMLCharacterClasses.cpp index 6a823e9b..5c9e7d5c 100644 --- a/XML/XMLCharacterClasses.cpp +++ b/XML/XMLCharacterClasses.cpp @@ -1,6 +1,6 @@ -#include "XMLCharacterClasses.h" -#include "UnicodeCharacters.h" +#include +#include const wchar_t base_char_ranges[][2] = { diff --git a/include/UnicodeCharacters.h b/include/UnicodeCharacters.h deleted file mode 100644 index a679041e..00000000 --- a/include/UnicodeCharacters.h +++ /dev/null @@ -1,289 +0,0 @@ -#ifndef ARABICA_XML_UNICODE_CHARACTERS_H -#define ARABICA_XML_UNICODE_CHARACTERS_H - -namespace Arabica -{ - -template -struct Unicode -{ - static const charT HORIZONTAL_TABULATION; - static const charT LINE_FEED; - static const charT CARRIAGE_RETURN; - static const charT SPACE; - static const charT EXCLAMATION_MARK; - static const charT QUOTATION_MARK; - static const charT NUMBER_SIGN; - static const charT PERCENT_SIGN; - static const charT AMPERSAND; - static const charT APOSTROPHE; - static const charT LEFT_PARENTHESIS; - static const charT RIGHT_PARENTHESIS; - static const charT ASTERISK; - static const charT PLUS_SIGN; - static const charT COMMA; - static const charT HYPHEN_MINUS; - static const charT FULL_STOP; - static const charT SLASH; - static const charT NUMBER_0; - static const charT NUMBER_1; - static const charT NUMBER_2; - static const charT NUMBER_3; - static const charT NUMBER_4; - static const charT NUMBER_5; - static const charT NUMBER_6; - static const charT NUMBER_7; - static const charT NUMBER_8; - static const charT NUMBER_9; - static const charT COLON; - static const charT SEMI_COLON; - static const charT LESS_THAN_SIGN; - static const charT EQUALS_SIGN; - static const charT GREATER_THAN_SIGN; - static const charT QUESTION_MARK; - static const charT CAPITAL_A; - static const charT CAPITAL_B; - static const charT CAPITAL_C; - static const charT CAPITAL_D; - static const charT CAPITAL_E; - static const charT CAPITAL_F; - static const charT CAPITAL_G; - static const charT CAPITAL_H; - static const charT CAPITAL_I; - static const charT CAPITAL_J; - static const charT CAPITAL_K; - static const charT CAPITAL_L; - static const charT CAPITAL_M; - static const charT CAPITAL_N; - static const charT CAPITAL_O; - static const charT CAPITAL_P; - static const charT CAPITAL_Q; - static const charT CAPITAL_R; - static const charT CAPITAL_S; - static const charT CAPITAL_T; - static const charT CAPITAL_U; - static const charT CAPITAL_V; - static const charT CAPITAL_W; - static const charT CAPITAL_X; - static const charT CAPITAL_Y; - static const charT CAPITAL_Z; - static const charT LEFT_SQUARE_BRACKET; - static const charT BACK_SLASH; - static const charT RIGHT_SQUARE_BRACKET; - static const charT LOW_LINE; - static const charT LOWERCASE_A; - static const charT LOWERCASE_B; - static const charT LOWERCASE_C; - static const charT LOWERCASE_D; - static const charT LOWERCASE_E; - static const charT LOWERCASE_F; - static const charT LOWERCASE_G; - static const charT LOWERCASE_H; - static const charT LOWERCASE_I; - static const charT LOWERCASE_J; - static const charT LOWERCASE_K; - static const charT LOWERCASE_L; - static const charT LOWERCASE_M; - static const charT LOWERCASE_N; - static const charT LOWERCASE_O; - static const charT LOWERCASE_P; - static const charT LOWERCASE_Q; - static const charT LOWERCASE_R; - static const charT LOWERCASE_S; - static const charT LOWERCASE_T; - static const charT LOWERCASE_U; - static const charT LOWERCASE_V; - static const charT LOWERCASE_W; - static const charT LOWERCASE_X; - static const charT LOWERCASE_Y; - static const charT LOWERCASE_Z; - static const charT VERTICAL_BAR; -}; // namespace XML - -template -const charT Unicode::HORIZONTAL_TABULATION = 0x09; -template -const charT Unicode::LINE_FEED = 0x0A; -template -const charT Unicode::CARRIAGE_RETURN = 0x0D; -template -const charT Unicode::SPACE = 0x20; -template -const charT Unicode::EXCLAMATION_MARK = 0x21; // ! -template -const charT Unicode::QUOTATION_MARK = 0x22; // " -template -const charT Unicode::NUMBER_SIGN = 0x23; // # -template -const charT Unicode::PERCENT_SIGN = 0x25; // % -template -const charT Unicode::AMPERSAND = 0x26; // & -template -const charT Unicode::APOSTROPHE = 0x27; // ' -template -const charT Unicode::LEFT_PARENTHESIS = 0x28; // ( -template -const charT Unicode::RIGHT_PARENTHESIS = 0x29; // ) -template -const charT Unicode::ASTERISK = 0x2A; // * -template -const charT Unicode::PLUS_SIGN = 0x2B; // + -template -const charT Unicode::COMMA = 0x2C; // , -template -const charT Unicode::HYPHEN_MINUS = 0x2D; // - -template -const charT Unicode::FULL_STOP = 0x2E; // . -template -const charT Unicode::SLASH = 0x2F; // / -template -const charT Unicode::NUMBER_0 = 0x30; -template -const charT Unicode::NUMBER_1 = 0x31; -template -const charT Unicode::NUMBER_2 = 0x32; -template -const charT Unicode::NUMBER_3 = 0x33; -template -const charT Unicode::NUMBER_4 = 0x34; -template -const charT Unicode::NUMBER_5 = 0x35; -template -const charT Unicode::NUMBER_6 = 0x36; -template -const charT Unicode::NUMBER_7 = 0x37; -template -const charT Unicode::NUMBER_8 = 0x38; -template -const charT Unicode::NUMBER_9 = 0x39; -template -const charT Unicode::COLON = 0x3A; // : -template -const charT Unicode::SEMI_COLON = 0x3B; // ; -template -const charT Unicode::LESS_THAN_SIGN = 0x3C; // < -template -const charT Unicode::EQUALS_SIGN = 0x3D; // = -template -const charT Unicode::GREATER_THAN_SIGN = 0x3E; // > -template -const charT Unicode::QUESTION_MARK = 0x3F; // ? -template -const charT Unicode::CAPITAL_A = 0x41; -template -const charT Unicode::CAPITAL_B = 0x42; -template -const charT Unicode::CAPITAL_C = 0x43; -template -const charT Unicode::CAPITAL_D = 0x44; -template -const charT Unicode::CAPITAL_E = 0x45; -template -const charT Unicode::CAPITAL_F = 0x46; -template -const charT Unicode::CAPITAL_G = 0x47; -template -const charT Unicode::CAPITAL_H = 0x48; -template -const charT Unicode::CAPITAL_I = 0x49; -template -const charT Unicode::CAPITAL_J = 0x4A; -template -const charT Unicode::CAPITAL_K = 0x4B; -template -const charT Unicode::CAPITAL_L = 0x4C; -template -const charT Unicode::CAPITAL_M = 0x4D; -template -const charT Unicode::CAPITAL_N = 0x4E; -template -const charT Unicode::CAPITAL_O = 0x4F; -template -const charT Unicode::CAPITAL_P = 0x50; -template -const charT Unicode::CAPITAL_Q = 0x51; -template -const charT Unicode::CAPITAL_R = 0x52; -template -const charT Unicode::CAPITAL_S = 0x53; -template -const charT Unicode::CAPITAL_T = 0x54; -template -const charT Unicode::CAPITAL_U = 0x55; -template -const charT Unicode::CAPITAL_V = 0x56; -template -const charT Unicode::CAPITAL_W = 0x57; -template -const charT Unicode::CAPITAL_X = 0x58; -template -const charT Unicode::CAPITAL_Y = 0x59; -template -const charT Unicode::CAPITAL_Z = 0x5A; -template -const charT Unicode::LEFT_SQUARE_BRACKET = 0x5B; // ] -template -const charT Unicode::BACK_SLASH = 0x5C; // -template -const charT Unicode::RIGHT_SQUARE_BRACKET = 0x5D; // [ -template -const charT Unicode::LOW_LINE = 0x5F; // _ -template -const charT Unicode::LOWERCASE_A = 0x61; -template -const charT Unicode::LOWERCASE_B = 0x62; -template -const charT Unicode::LOWERCASE_C = 0x63; -template -const charT Unicode::LOWERCASE_D = 0x64; -template -const charT Unicode::LOWERCASE_E = 0x65; -template -const charT Unicode::LOWERCASE_F = 0x66; -template -const charT Unicode::LOWERCASE_G = 0x67; -template -const charT Unicode::LOWERCASE_H = 0x68; -template -const charT Unicode::LOWERCASE_I = 0x69; -template -const charT Unicode::LOWERCASE_J = 0x6A; -template -const charT Unicode::LOWERCASE_K = 0x6B; -template -const charT Unicode::LOWERCASE_L = 0x6C; -template -const charT Unicode::LOWERCASE_M = 0x6D; -template -const charT Unicode::LOWERCASE_N = 0x6E; -template -const charT Unicode::LOWERCASE_O = 0x6F; -template -const charT Unicode::LOWERCASE_P = 0x70; -template -const charT Unicode::LOWERCASE_Q = 0x71; -template -const charT Unicode::LOWERCASE_R = 0x72; -template -const charT Unicode::LOWERCASE_S = 0x73; -template -const charT Unicode::LOWERCASE_T = 0x74; -template -const charT Unicode::LOWERCASE_U = 0x75; -template -const charT Unicode::LOWERCASE_V = 0x76; -template -const charT Unicode::LOWERCASE_W = 0x77; -template -const charT Unicode::LOWERCASE_X = 0x78; -template -const charT Unicode::LOWERCASE_Y = 0x79; -template -const charT Unicode::LOWERCASE_Z = 0x7A; -template -const charT Unicode::VERTICAL_BAR = 0x7C; // | - -} // namespace Arabica - -#endif - diff --git a/Utils/StringAdaptor.h b/include/Utils/StringAdaptor.h similarity index 100% rename from Utils/StringAdaptor.h rename to include/Utils/StringAdaptor.h diff --git a/Utils/base64codecvt.h b/include/Utils/base64codecvt.h similarity index 100% rename from Utils/base64codecvt.h rename to include/Utils/base64codecvt.h diff --git a/Utils/convert_adaptor.h b/include/Utils/convert_adaptor.h similarity index 100% rename from Utils/convert_adaptor.h rename to include/Utils/convert_adaptor.h diff --git a/Utils/convertstream.h b/include/Utils/convertstream.h similarity index 100% rename from Utils/convertstream.h rename to include/Utils/convertstream.h diff --git a/Utils/getparam.hpp b/include/Utils/getparam.hpp similarity index 100% rename from Utils/getparam.hpp rename to include/Utils/getparam.hpp diff --git a/Utils/impl/VS6Workaround.h b/include/Utils/impl/VS6Workaround.h similarity index 100% rename from Utils/impl/VS6Workaround.h rename to include/Utils/impl/VS6Workaround.h diff --git a/Utils/impl/codecvt_specialisations.h b/include/Utils/impl/codecvt_specialisations.h similarity index 100% rename from Utils/impl/codecvt_specialisations.h rename to include/Utils/impl/codecvt_specialisations.h diff --git a/Utils/impl/iso88591_utf8.h b/include/Utils/impl/iso88591_utf8.h similarity index 100% rename from Utils/impl/iso88591_utf8.h rename to include/Utils/impl/iso88591_utf8.h diff --git a/Utils/impl/ucs2_utf16.h b/include/Utils/impl/ucs2_utf16.h similarity index 100% rename from Utils/impl/ucs2_utf16.h rename to include/Utils/impl/ucs2_utf16.h diff --git a/Utils/impl/ucs2_utf8.h b/include/Utils/impl/ucs2_utf8.h similarity index 100% rename from Utils/impl/ucs2_utf8.h rename to include/Utils/impl/ucs2_utf8.h diff --git a/Utils/iso88591utf8codecvt.h b/include/Utils/iso88591utf8codecvt.h similarity index 100% rename from Utils/iso88591utf8codecvt.h rename to include/Utils/iso88591utf8codecvt.h diff --git a/Utils/rot13codecvt.h b/include/Utils/rot13codecvt.h similarity index 100% rename from Utils/rot13codecvt.h rename to include/Utils/rot13codecvt.h diff --git a/Utils/socket_stream.h b/include/Utils/socket_stream.h similarity index 100% rename from Utils/socket_stream.h rename to include/Utils/socket_stream.h diff --git a/Utils/stringadaptortag.hpp b/include/Utils/stringadaptortag.hpp similarity index 100% rename from Utils/stringadaptortag.hpp rename to include/Utils/stringadaptortag.hpp diff --git a/Utils/ucs2utf8codecvt.hpp b/include/Utils/ucs2utf8codecvt.hpp similarity index 100% rename from Utils/ucs2utf8codecvt.hpp rename to include/Utils/ucs2utf8codecvt.hpp diff --git a/Utils/utf16beucs2codecvt.h b/include/Utils/utf16beucs2codecvt.h similarity index 100% rename from Utils/utf16beucs2codecvt.h rename to include/Utils/utf16beucs2codecvt.h diff --git a/Utils/utf16leucs2codecvt.h b/include/Utils/utf16leucs2codecvt.h similarity index 100% rename from Utils/utf16leucs2codecvt.h rename to include/Utils/utf16leucs2codecvt.h diff --git a/Utils/utf16utf8codecvt.h b/include/Utils/utf16utf8codecvt.h similarity index 100% rename from Utils/utf16utf8codecvt.h rename to include/Utils/utf16utf8codecvt.h diff --git a/Utils/utf8iso88591codecvt.h b/include/Utils/utf8iso88591codecvt.h similarity index 100% rename from Utils/utf8iso88591codecvt.h rename to include/Utils/utf8iso88591codecvt.h diff --git a/Utils/utf8ucs2codecvt.h b/include/Utils/utf8ucs2codecvt.h similarity index 100% rename from Utils/utf8ucs2codecvt.h rename to include/Utils/utf8ucs2codecvt.h diff --git a/XML/UnicodeCharacters.h b/include/XML/UnicodeCharacters.h similarity index 100% rename from XML/UnicodeCharacters.h rename to include/XML/UnicodeCharacters.h diff --git a/XML/XMLCharacterClasses.h b/include/XML/XMLCharacterClasses.h similarity index 100% rename from XML/XMLCharacterClasses.h rename to include/XML/XMLCharacterClasses.h diff --git a/XML/escaper.hpp b/include/XML/escaper.hpp similarity index 100% rename from XML/escaper.hpp rename to include/XML/escaper.hpp