| API Docs for SAX and DOM |
| Main Page Classes Files Related Pages # 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 568078 2007-08-21 11:43:25Z amassari $
    00020  */
    00021
    00022 #ifndef HEXBIN_HPP
    00023 #define HEXBIN_HPP
    00024
    00025 #include <xercesc/util/PlatformUtils.hpp>
    00026
    00027 XERCES_CPP_NAMESPACE_BEGIN
    00028
    00029 class  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
    00094     static XMLCh* decode(
    00095                          const XMLCh*          const    hexData
    00096                        ,       MemoryManager*  const    manager = XMLPlatformUtils::fgMemoryManager
    00097                         );
    00098
    00115     static XMLByte* decodeToXMLByte(
    00116                          const XMLCh*          const    hexData
    00117                        ,       MemoryManager*  const    manager = XMLPlatformUtils::fgMemoryManager
    00118                         );
    00119
    00120
    00122
    00123 private :
    00124
    00125     // -----------------------------------------------------------------------
    00126     //  Helper methods
    00127     // -----------------------------------------------------------------------
    00128
    00129     static void init();
    00130
    00131     static bool isHex(const XMLCh& octect);
    00132
    00133     // -----------------------------------------------------------------------
    00134     //  Unimplemented constructors and operators
    00135     // -----------------------------------------------------------------------
    00136     HexBin();
    00137     HexBin(const HexBin&);
    00138     HexBin& operator=(const HexBin&);
    00139
    00140     // -----------------------------------------------------------------------
    00141     //  Private data members
    00142     //
    00143     //  isInitialized
    00144     //
    00145     //     set once hexNumberTable is initalized.
    00146     //
    00147     //  hexNumberTable
    00148     //
    00149     //     arrany holding valid hexNumber character.
    00150     //
    00151     // -----------------------------------------------------------------------
    00152     static bool       isInitialized;
    00153     static XMLByte    hexNumberTable[];
    00154 };
    00155
    00156 XERCES_CPP_NAMESPACE_END
    00157
    00158 #endif

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