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
27
29
31{
32public :
33 // -----------------------------------------------------------------------
34 // Constructors and Destructor
35 // -----------------------------------------------------------------------
37 (
38 const XMLCh* const fileName
40 );
41
43 (
44 const char* const fileName
46 );
47
49 (
50 const FileHandle toUse
52 );
53
55
56
57 // -----------------------------------------------------------------------
58 // Getter methods
59 // -----------------------------------------------------------------------
60 bool getIsOpen() const;
62 void reset();
63
64
65 // -----------------------------------------------------------------------
66 // Implementation of the input stream interface
67 // -----------------------------------------------------------------------
68 virtual XMLFilePos curPos() const;
69
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 // -----------------------------------------------------------------------
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// ---------------------------------------------------------------------------
101{
102 return (fSource != (FileHandle) XERCES_Invalid_File_Handle);
103}
104
106
107#endif
XERCES_CPP_NAMESPACE_BEGIN typedef void * FileHandle
Definition XMLFileMgr.hpp:30
#define XERCES_Invalid_File_Handle
Definition XMLFileMgr.hpp:31
#define XERCES_CPP_NAMESPACE_BEGIN
Definition XercesDefs.hpp:112
unsigned char XMLByte
Definition XercesDefs.hpp:65
#define XMLUTIL_EXPORT
Definition XercesDefs.hpp:162
#define XERCES_CPP_NAMESPACE_END
Definition XercesDefs.hpp:113
size_t XMLSize_t
Definition Xerces_autoconf_config.hpp:112
char16_t XMLCh
Definition Xerces_autoconf_config.hpp:120
XMLUInt64 XMLFilePos
Definition Xerces_autoconf_config.hpp:139
Definition BinFileInputStream.hpp:31
virtual XMLSize_t readBytes(XMLByte *const toFill, const XMLSize_t maxToRead)
BinFileInputStream(const char *const fileName, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
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...
bool getIsOpen() const
Definition BinFileInputStream.hpp:100
BinFileInputStream(const FileHandle toUse, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
BinFileInputStream(const XMLCh *const fileName, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
virtual XMLFilePos curPos() const
virtual ~BinFileInputStream()
XMLFilePos getSize() const
Definition BinInputStream.hpp:30
Configurable memory manager.
Definition MemoryManager.hpp:40
static MemoryManager * fgMemoryManager
The configurable memory manager.
Definition PlatformUtils.hpp:121