All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
15 namespace OpenMS
16 {
17  class GzipIfstream;
18  class String;
19 
24  class OPENMS_DLLAPI GzipInputStream :
25  public xercesc::BinInputStream
26  {
27 public:
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 
75 private:
77  GzipIfstream* gzip_ = nullptr;
80  };
81 
82  inline XMLFilePos GzipInputStream::curPos() const
83  {
84  return file_current_index_;
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
const XMLCh * getContentType() const override
returns 0
XMLSize_t file_current_index_
current index of the actual file
Definition: GzipInputStream.h:79
GzipInputStream(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 & operator=(const GzipInputStream &stream)=delete
GzipInputStream(const char *const file_name)
A more convenient string class.
Definition: String.h:34
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19