Xerces-C++ 3.3.0

BinFileInputStream.hpp
Go to the documentation of this file.
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$
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_BINFILEINPUTSTREAM_HPP)
23#define XERCESC_INCLUDE_GUARD_BINFILEINPUTSTREAM_HPP
24
25#include <xercesc/util/BinInputStream.hpp>
26#include <xercesc/util/PlatformUtils.hpp>
27
28 XERCES_CPP_NAMESPACE_BEGIN
29
30 class XMLUTIL_EXPORT BinFileInputStream : public BinInputStream
31{
32public :
33 // -----------------------------------------------------------------------
34 // Constructors and Destructor
35 // -----------------------------------------------------------------------
36 BinFileInputStream
37 (
38 const XMLCh* const fileName
39 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
40 );
41
42 BinFileInputStream
43 (
44 const char* const fileName
45 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
46 );
47
48 BinFileInputStream
49 (
50 const FileHandle toUse
51 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
52 );
53
54 virtual ~BinFileInputStream();
55
56
57 // -----------------------------------------------------------------------
58 // Getter methods
59 // -----------------------------------------------------------------------
60 bool getIsOpen() const;
61 XMLFilePos getSize() const;
62 void reset();
63
64
65 // -----------------------------------------------------------------------
66 // Implementation of the input stream interface
67 // -----------------------------------------------------------------------
68 virtual XMLFilePos curPos() const;
69
70 virtual XMLSize_t readBytes
71 (
72 XMLByte* const toFill
73 , const XMLSize_t maxToRead
74 );
75
76 virtual const XMLCh* getContentType() const;
77
78private :
79 // -----------------------------------------------------------------------
80 // Unimplemented constructors and operators
81 // -----------------------------------------------------------------------
82 BinFileInputStream(const BinFileInputStream&);
83 BinFileInputStream& operator=(const BinFileInputStream&);
84
85 // -----------------------------------------------------------------------
86 // Private data members
87 //
88 // fSource
89 // The source file that we represent. The FileHandle type is defined
90 // per platform.
91 // -----------------------------------------------------------------------
92 FileHandle fSource;
93 MemoryManager* const fMemoryManager;
94};
95
96
97// ---------------------------------------------------------------------------
98// BinFileInputStream: Getter methods
99// ---------------------------------------------------------------------------
100 inline bool BinFileInputStream::getIsOpen() const
101{
102 return (fSource != (FileHandle) XERCES_Invalid_File_Handle);
103}
104
105 XERCES_CPP_NAMESPACE_END
106
107#endif
BinInputStream.hpp
PlatformUtils.hpp
FileHandle
XERCES_CPP_NAMESPACE_BEGIN typedef void * FileHandle
Definition XMLFileMgr.hpp:30
XERCES_Invalid_File_Handle
#define XERCES_Invalid_File_Handle
Definition XMLFileMgr.hpp:31
XERCES_CPP_NAMESPACE_BEGIN
#define XERCES_CPP_NAMESPACE_BEGIN
Definition XercesDefs.hpp:112
XMLByte
unsigned char XMLByte
Definition XercesDefs.hpp:65
XMLUTIL_EXPORT
#define XMLUTIL_EXPORT
Definition XercesDefs.hpp:162
XERCES_CPP_NAMESPACE_END
#define XERCES_CPP_NAMESPACE_END
Definition XercesDefs.hpp:113
XMLSize_t
size_t XMLSize_t
Definition Xerces_autoconf_config.hpp:112
XMLCh
char16_t XMLCh
Definition Xerces_autoconf_config.hpp:120
XMLFilePos
XMLUInt64 XMLFilePos
Definition Xerces_autoconf_config.hpp:139
BinFileInputStream
Definition BinFileInputStream.hpp:31
BinFileInputStream::readBytes
virtual XMLSize_t readBytes(XMLByte *const toFill, const XMLSize_t maxToRead)
BinFileInputStream::BinFileInputStream
BinFileInputStream(const char *const fileName, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
BinFileInputStream::getContentType
virtual const XMLCh * getContentType() const
Return the "out-of-band" content type for the data supplied by this input stream in the form of the m...
BinFileInputStream::getIsOpen
bool getIsOpen() const
Definition BinFileInputStream.hpp:100
BinFileInputStream::BinFileInputStream
BinFileInputStream(const FileHandle toUse, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
BinFileInputStream::BinFileInputStream
BinFileInputStream(const XMLCh *const fileName, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
BinFileInputStream::curPos
virtual XMLFilePos curPos() const
BinFileInputStream::~BinFileInputStream
virtual ~BinFileInputStream()
BinFileInputStream::reset
void reset()
BinFileInputStream::getSize
XMLFilePos getSize() const
BinInputStream
Definition BinInputStream.hpp:30
MemoryManager
Configurable memory manager.
Definition MemoryManager.hpp:40
XMLPlatformUtils::fgMemoryManager
static MemoryManager * fgMemoryManager
The configurable memory manager.
Definition PlatformUtils.hpp:121