secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/BinFileOutputStream.hpp
changeset 4 3eebb1e54d3a
parent 3 127731b7107d
child 5 aba6b8104af3
equal deleted inserted replaced
3:127731b7107d 4:3eebb1e54d3a
     1 /*
       
     2  * Licensed to the Apache Software Foundation (ASF) under one or more
       
     3  * contributor license agreements.  See the NOTICE file distributed with
       
     4  * this work for additional information regarding copyright ownership.
       
     5  * The ASF licenses this file to You under the Apache License, Version 2.0
       
     6  * (the "License"); you may not use this file except in compliance with
       
     7  * the License.  You may obtain a copy of the License at
       
     8  * 
       
     9  *      http://www.apache.org/licenses/LICENSE-2.0
       
    10  * 
       
    11  * Unless required by applicable law or agreed to in writing, software
       
    12  * distributed under the License is distributed on an "AS IS" BASIS,
       
    13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       
    14  * See the License for the specific language governing permissions and
       
    15  * limitations under the License.
       
    16  */
       
    17 
       
    18 /*
       
    19  * $Id: BinFileOutputStream.hpp 568078 2007-08-21 11:43:25Z amassari $
       
    20  */
       
    21 
       
    22 #if !defined(BINFILEOUTPUTSTREAM_HPP)
       
    23 #define BINFILEOUTPUTSTREAM_HPP
       
    24 
       
    25 #include <xercesc/framework/BinOutputStream.hpp>
       
    26 #include <xercesc/util/PlatformUtils.hpp>
       
    27 
       
    28 XERCES_CPP_NAMESPACE_BEGIN
       
    29 
       
    30 class XMLUTIL_EXPORT BinFileOutputStream : public BinOutputStream
       
    31 {
       
    32 public :
       
    33     // -----------------------------------------------------------------------
       
    34     //  Constructors and Destructor
       
    35     // -----------------------------------------------------------------------
       
    36 
       
    37     ~BinFileOutputStream();
       
    38 
       
    39     BinFileOutputStream
       
    40     (
       
    41         const   XMLCh* const    fileName
       
    42         , MemoryManager* const  manager = XMLPlatformUtils::fgMemoryManager
       
    43     );
       
    44 
       
    45     BinFileOutputStream
       
    46     (
       
    47          const   char* const     fileName
       
    48        , MemoryManager* const    manager = XMLPlatformUtils::fgMemoryManager
       
    49     );
       
    50 
       
    51     // -----------------------------------------------------------------------
       
    52     //  Getter methods
       
    53     // -----------------------------------------------------------------------
       
    54     bool getIsOpen() const;
       
    55     unsigned int getSize() const;
       
    56     void reset();
       
    57 
       
    58 
       
    59     // -----------------------------------------------------------------------
       
    60     //  Implementation of the input stream interface
       
    61     // -----------------------------------------------------------------------
       
    62     virtual unsigned int curPos() const;
       
    63 
       
    64     virtual void writeBytes
       
    65     (
       
    66           const XMLByte* const      toGo
       
    67         , const unsigned int        maxToWrite
       
    68     );
       
    69 
       
    70 
       
    71 private :
       
    72     // -----------------------------------------------------------------------
       
    73     //  Unimplemented constructors and operators
       
    74     // -----------------------------------------------------------------------
       
    75     BinFileOutputStream(const BinFileOutputStream&);
       
    76     BinFileOutputStream& operator=(const BinFileOutputStream&); 
       
    77 
       
    78     // -----------------------------------------------------------------------
       
    79     //  Private data members
       
    80     //
       
    81     //  fSource
       
    82     //      The source file that we represent. The FileHandle type is defined
       
    83     //      per platform.
       
    84     // -----------------------------------------------------------------------
       
    85     FileHandle              fSource;
       
    86     MemoryManager* const    fMemoryManager;
       
    87 };
       
    88 
       
    89 
       
    90 // ---------------------------------------------------------------------------
       
    91 //  BinFileOutputStream: Getter methods
       
    92 // ---------------------------------------------------------------------------
       
    93 inline bool BinFileOutputStream::getIsOpen() const
       
    94 {
       
    95     return (fSource != (FileHandle) XERCES_Invalid_File_Handle);
       
    96 }
       
    97 
       
    98 XERCES_CPP_NAMESPACE_END
       
    99 
       
   100 #endif