- Main Page
- Related Pages
- Classes
- Files

# HexBin.hpp

Go to the documentation of this file.

    00001 /*
    00002  * Licensed to the Apache Software Foundation (ASF) under one or more
    00003  * contributor license agreements.  See the NOTICE file distributed with
    00004  * this work for additional information regarding copyright ownership.
    00005  * The ASF licenses this file to You under the Apache License, Version 2.0
    00006  * (the "License"); you may not use this file except in compliance with
    00007  * the License.  You may obtain a copy of the License at
    00008  *
    00009  *      http://www.apache.org/licenses/LICENSE-2.0
    00010  *
    00011  * Unless required by applicable law or agreed to in writing, software
    00012  * distributed under the License is distributed on an "AS IS" BASIS,
    00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00014  * See the License for the specific language governing permissions and
    00015  * limitations under the License.
    00016  */
    00017
    00018 /*
    00019  * $Id: HexBin.hpp 932887 2010-04-11 13:04:59Z borisk $
    00020  */
    00021
    00022 #if !defined(XERCESC_INCLUDE_GUARD_HEXBIN_HPP)
    00023 #define XERCESC_INCLUDE_GUARD_HEXBIN_HPP
    00024
    00025 #include <xercesc/util/PlatformUtils.hpp>
    00026
    00027 XERCES_CPP_NAMESPACE_BEGIN
    00028
    00029 class XMLUTIL_EXPORT HexBin
    00030 {
    00031 public :
    00033
    00043     static int  getDataLength(const XMLCh* const hexData);
    00044
    00054     static bool isArrayByteHex(const XMLCh* const hexData);
    00055
    00070     static XMLCh* getCanonicalRepresentation
    00071                   (
    00072                       const XMLCh*          const hexData
    00073                     ,       MemoryManager*  const manager = XMLPlatformUtils::fgMemoryManager
    00074                   );
    00075
    00088     static XMLByte* decodeToXMLByte(
    00089                          const XMLCh*          const    hexData
    00090                        ,       MemoryManager*  const    manager = XMLPlatformUtils::fgMemoryManager
    00091                         );
    00092
    00093
    00095
    00096 private :
    00097
    00098     // -----------------------------------------------------------------------
    00099     //  Helper methods
    00100     // -----------------------------------------------------------------------
    00101
    00102     static bool isHex(const XMLCh& octet);
    00103
    00104     // -----------------------------------------------------------------------
    00105     //  Unimplemented constructors and operators
    00106     // -----------------------------------------------------------------------
    00107     HexBin();
    00108     HexBin(const HexBin&);
    00109     HexBin& operator=(const HexBin&);
    00110
    00111     // -----------------------------------------------------------------------
    00112     //  Private data members
    00113     //
    00114     //  isInitialized
    00115     //
    00116     //     set once hexNumberTable is initialized.
    00117     //
    00118     //  hexNumberTable
    00119     //
    00120     //     arrany holding valid hexNumber character.
    00121     //
    00122     // -----------------------------------------------------------------------
    00123     static const XMLByte    hexNumberTable[];
    00124 };
    00125
    00126 XERCES_CPP_NAMESPACE_END
    00127
    00128 #endif