OpenMS
Loading...
Searching...
No Matches
GzipInputStream.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: David Wojnar $
7// --------------------------------------------------------------------------
8
9#pragma once
10
11#include <OpenMS/config.h>
12
13#include <xercesc/util/BinInputStream.hpp>
14
15namespace OpenMS
16{
17 class GzipIfstream;
18 class String;
19
24 class OPENMS_DLLAPI GzipInputStream :
25 public xercesc::BinInputStream
26 {
27public:
29 explicit GzipInputStream(const String& file_name);
30
31 explicit GzipInputStream(const char* const file_name);
32
34 ~GzipInputStream() override;
35
37 bool getIsOpen() const;
38
44 XMLFilePos curPos() const override;
45
57 XMLSize_t readBytes(XMLByte* const to_fill, const XMLSize_t max_to_read) override;
58
69 const XMLCh* getContentType() const override;
70
71 GzipInputStream() = delete;
72 GzipInputStream(const GzipInputStream& stream) = delete;
73 GzipInputStream& operator=(const GzipInputStream& stream) = delete;
74
75private:
77 GzipIfstream* gzip_ = nullptr;
80 };
81
82 inline XMLFilePos GzipInputStream::curPos() const
83 {
85 }
86
87} // namespace OpenMS
88
char16_t XMLCh
Definition ClassTest.h:28
Decompresses files which are compressed in the gzip format (*.gzip)
Definition GzipIfstream.h:21
Implements the BinInputStream class of the xerces-c library in order to read gzip compressed XML file...
Definition GzipInputStream.h:26
~GzipInputStream() override
Destructor.
bool getIsOpen() const
returns true if file is open
XMLSize_t file_current_index_
current index of the actual file
Definition GzipInputStream.h:79
GzipInputStream(const GzipInputStream &stream)=delete
GzipInputStream & operator=(const GzipInputStream &stream)=delete
XMLSize_t readBytes(XMLByte *const to_fill, const XMLSize_t max_to_read) override
writes bytes into buffer from file
XMLFilePos curPos() const override
returns the current position in the file
Definition GzipInputStream.h:82
GzipInputStream(const String &file_name)
Constructor.
GzipInputStream(const char *const file_name)
const XMLCh * getContentType() const override
returns 0
A more convenient string class.
Definition String.h:34
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19