diff options
Diffstat (limited to 'ACE/ACEXML/common/Encoding.h')
-rw-r--r-- | ACE/ACEXML/common/Encoding.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/ACE/ACEXML/common/Encoding.h b/ACE/ACEXML/common/Encoding.h new file mode 100644 index 00000000000..3e957fabbe1 --- /dev/null +++ b/ACE/ACEXML/common/Encoding.h @@ -0,0 +1,61 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Encoding.h + * + * This file provides utility functions to determine the encoding of a file + * or a byte stream automatically. + * + * $Id$ + * + * @author Krishnakumar B <kitty@cs.wustl.edu> + */ +//============================================================================= + +#ifndef _ACEXML_ENCODING_H +#define _ACEXML_ENCODING_H + +#include /**/ "ace/pre.h" +#include "ACEXML/common/ACEXML_Export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +#pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ACEXML/common/XML_Types.h" + +/** + * @class ACEXML_Encoding Encoding.h "ACEXML/common/Encoding.h" + * + * @brief ACEXML_Encoding + * + * Wrapper class for determining the encoding of a file or a byte stream. + */ +class ACEXML_Export ACEXML_Encoding +{ +public: + enum { + UCS4BE, + UCS4LE, + UCS4_2143, + UCS4_3412, + UTF16BE, + UTF16LE, + UTF8, + OTHER + } ENCODING; + + static const ACEXML_Char* encoding_names_[8]; + + static const ACEXML_UTF8 byte_order_mark_[][4]; + + static const ACEXML_UTF8 magic_values_[][4]; + + static const ACEXML_Char* get_encoding (const char* input); + +}; + +#include /**/ "ace/post.h" + +#endif /* _ACEXML_ENCODING_H */ |