/* | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
*/ | |
#ifndef _XSTR_H_ | |
#define _XSTR_H_ | |
// --------------------------------------------------------------------------- | |
// This is a simple class that lets us do easy (though not terribly efficient) | |
// trancoding of char* data to XMLCh data. | |
// | |
// This class was taken from Apache's xerces-c samples. | |
// --------------------------------------------------------------------------- | |
class XStr | |
{ | |
public : | |
// ----------------------------------------------------------------------- | |
// Constructors and Destructor | |
// ----------------------------------------------------------------------- | |
XStr(const char* const toTranscode) | |
{ | |
// Call the private transcoding method | |
fUnicodeForm = XMLString::transcode(toTranscode); | |
} | |
XStr(const string& toTranscode){ | |
fUnicodeForm = XMLString::transcode(toTranscode.c_str()); | |
} | |
~XStr() | |
{ | |
XMLString::release(&fUnicodeForm); | |
} | |
// ----------------------------------------------------------------------- | |
// Getter methods | |
// ----------------------------------------------------------------------- | |
const XMLCh* unicodeForm() const | |
{ | |
return fUnicodeForm; | |
} | |
private : | |
// ----------------------------------------------------------------------- | |
// Private data members | |
// | |
// fUnicodeForm | |
// This is the Unicode XMLCh format of the string. | |
// ----------------------------------------------------------------------- | |
XMLCh* fUnicodeForm; | |
}; | |
#endif //_XSTR_H_ |