http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

API Docs for SAX and DOM
 

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

HexBin.hpp

Go to the documentation of this file.
00001 /*
00002  * Copyright 2001,2004 The Apache Software Foundation.
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 /*
00018  * $Id: HexBin.hpp,v 1.6 2004/09/08 13:56:22 peiyongz Exp $
00019  */
00020 
00021 #ifndef HEXBIN_HPP
00022 #define HEXBIN_HPP
00023 
00024 #include <xercesc/util/PlatformUtils.hpp>
00025 
00026 XERCES_CPP_NAMESPACE_BEGIN
00027 
00028 class  HexBin
00029 {
00030 public :
00032 
00042     static int  getDataLength(const XMLCh* const hexData);
00043 
00053     static bool isArrayByteHex(const XMLCh* const hexData);
00054 
00069     static XMLCh* getCanonicalRepresentation
00070                   (
00071                       const XMLCh*          const hexData
00072                     ,       MemoryManager*  const manager = XMLPlatformUtils::fgMemoryManager
00073                   );
00074 
00091     static XMLCh* decode(
00092                          const XMLCh*          const    hexData
00093                        ,       MemoryManager*  const    manager = XMLPlatformUtils::fgMemoryManager
00094                         );
00095 
00096 
00098 
00099 private :
00100 
00101     // -----------------------------------------------------------------------
00102     //  Helper methods
00103     // -----------------------------------------------------------------------
00104 
00105     static void init();
00106 
00107     static bool isHex(const XMLCh& octect);
00108 
00109     // -----------------------------------------------------------------------
00110     //  Unimplemented constructors and operators
00111     // -----------------------------------------------------------------------
00112     HexBin();
00113     HexBin(const HexBin&);
00114     HexBin& operator=(const HexBin&);
00115 
00116     // -----------------------------------------------------------------------
00117     //  Private data members
00118     //
00119     //  isInitialized
00120     //
00121     //     set once hexNumberTable is initalized.
00122     //
00123     //  hexNumberTable
00124     //
00125     //     arrany holding valid hexNumber character.
00126     //
00127     // -----------------------------------------------------------------------
00128     static bool       isInitialized;
00129     static bool       hexNumberTable[];
00130 };
00131 
00132 XERCES_CPP_NAMESPACE_END
00133 
00134 #endif


Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.