1 /************************************************************************
3 ** Copyright (C) 2010 Strahinja Markovic
5 ** This file is part of FlightCrew.
7 ** FlightCrew is free software: you can redistribute it and/or modify
8 ** it under the terms of the GNU Lesser General Public License as published
9 ** by the Free Software Foundation, either version 3 of the License, or
10 ** (at your option) any later version.
12 ** FlightCrew is distributed in the hope that it will be useful,
13 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ** GNU Lesser General Public License for more details.
17 ** You should have received a copy of the GNU Lesser General Public License
18 ** along with FlightCrew. If not, see <http://www.gnu.org/licenses/>.
20 *************************************************************************/
22 #include <xercesc/util/TransService.hpp>
23 #include "ToXercesStringConverter.h"
28 ToXercesStringConverter::ToXercesStringConverter( const std::string &utf8_string )
30 if ( utf8_string.length() > 0 )
32 xc::TranscodeFromStr transcoder(
33 (const XMLByte*) utf8_string.c_str(), utf8_string.length(), "UTF-8" );
35 m_XercesString = transcoder.adopt();
40 m_XercesString = NULL;
45 ToXercesStringConverter::ToXercesStringConverter( const char* const utf8_string )
49 size_t string_length = strlen( utf8_string );
51 if ( string_length > 0 )
53 xc::TranscodeFromStr transcoder(
54 (const XMLByte*) utf8_string, string_length, "UTF-8" );
56 m_XercesString = transcoder.adopt();
61 m_XercesString = NULL;
67 m_XercesString = NULL;
72 ToXercesStringConverter::~ToXercesStringConverter()
76 xc::XMLString::release( &m_XercesString );
80 const XMLCh* ToXercesStringConverter::XercesString() const
82 return m_XercesString;
85 } // namespace XercesExt