| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /*============================================================================
- KWSys - Kitware System Library
- Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
- Distributed under the OSI-approved BSD License (the "License");
- see accompanying file Copyright.txt for details.
- This software is distributed WITHOUT ANY WARRANTY; without even the
- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the License for more information.
- ============================================================================*/
- #ifndef @KWSYS_NAMESPACE@_Encoding_h
- #define @KWSYS_NAMESPACE@_Encoding_h
- #include <@KWSYS_NAMESPACE@/Configure.h>
- #include <wchar.h>
- /* Redefine all public interface symbol names to be in the proper
- namespace. These macros are used internally to kwsys only, and are
- not visible to user code. Use kwsysHeaderDump.pl to reproduce
- these macros after making changes to the interface. */
- #if !defined(KWSYS_NAMESPACE)
- # define kwsys_ns(x) @KWSYS_NAMESPACE@##x
- # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT
- #endif
- #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
- # define kwsysEncoding kwsys_ns(Encoding)
- # define kwsysEncoding_mbstowcs kwsys_ns(Encoding_mbstowcs)
- # define kwsysEncoding_DupToWide kwsys_ns(Encoding_DupToWide)
- # define kwsysEncoding_wcstombs kwsys_ns(Encoding_wcstombs)
- # define kwsysEncoding_DupToNarrow kwsys_ns(Encoding_DupToNarrow)
- #endif
- #if defined(__cplusplus)
- extern "C"
- {
- #endif
- /* Convert a narrow string to a wide string.
- On Windows, UTF-8 is assumed, and on other platforms,
- the current locale is assumed.
- */
- kwsysEXPORT size_t kwsysEncoding_mbstowcs(wchar_t* dest, const char* src, size_t n);
- /* Convert a narrow string to a wide string.
- This can return NULL if the conversion fails. */
- kwsysEXPORT wchar_t* kwsysEncoding_DupToWide(const char* src);
- /* Convert a wide string to a narrow string.
- On Windows, UTF-8 is assumed, and on other platforms,
- the current locale is assumed. */
- kwsysEXPORT size_t kwsysEncoding_wcstombs(char* dest, const wchar_t* src, size_t n);
- /* Convert a wide string to a narrow string.
- This can return NULL if the conversion fails. */
- kwsysEXPORT char* kwsysEncoding_DupToNarrow(const wchar_t* str);
- #if defined(__cplusplus)
- } /* extern "C" */
- #endif
- /* If we are building a kwsys .c or .cxx file, let it use these macros.
- Otherwise, undefine them to keep the namespace clean. */
- #if !defined(KWSYS_NAMESPACE)
- # undef kwsys_ns
- # undef kwsysEXPORT
- # if !defined(KWSYS_NAMESPACE) && !@KWSYS_NAMESPACE@_NAME_IS_KWSYS
- # undef kwsysEncoding
- # undef kwsysEncoding_mbstowcs
- # undef kwsysEncoding_DupToWide
- # undef kwsysEncoding_wcstombs
- # undef kwsysEncoding_DupToNarrow
- # endif
- #endif
- #endif
|