Coverage Report

Created: 2026-06-13 06:44

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libfreehand/src/lib/FHInternalStream.h
Line
Count
Source
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/*
3
 * This file is part of the libfreehand project.
4
 *
5
 * This Source Code Form is subject to the terms of the Mozilla Public
6
 * License, v. 2.0. If a copy of the MPL was not distributed with this
7
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
 */
9
10
11
#ifndef __FHINTERNALSTREAM_H__
12
#define __FHINTERNALSTREAM_H__
13
14
#include <vector>
15
16
#include <librevenge-stream/librevenge-stream.h>
17
18
namespace libfreehand
19
{
20
21
class FHInternalStream : public librevenge::RVNGInputStream
22
{
23
public:
24
  FHInternalStream(librevenge::RVNGInputStream *input, unsigned long size, bool compressed=false);
25
7.72k
  ~FHInternalStream() override {}
26
  bool isStructured() override
27
0
  {
28
0
    return false;
29
0
  }
30
  unsigned subStreamCount() override
31
0
  {
32
0
    return 0;
33
0
  }
34
  const char *subStreamName(unsigned) override
35
0
  {
36
0
    return nullptr;
37
0
  }
38
  bool existsSubStream(const char *) override
39
0
  {
40
0
    return false;
41
0
  }
42
  librevenge::RVNGInputStream *getSubStreamByName(const char *) override
43
0
  {
44
0
    return nullptr;
45
0
  }
46
  librevenge::RVNGInputStream *getSubStreamById(unsigned) override
47
0
  {
48
0
    return nullptr;
49
0
  }
50
  const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead) override;
51
  int seek(long offset, librevenge::RVNG_SEEK_TYPE seekType) override;
52
  long tell() override;
53
  bool isEnd() override;
54
  unsigned long getSize() const
55
0
  {
56
0
    return m_buffer.size();
57
0
  }
58
59
private:
60
  volatile long m_offset;
61
  std::vector<unsigned char> m_buffer;
62
  FHInternalStream(const FHInternalStream &);
63
  FHInternalStream &operator=(const FHInternalStream &);
64
};
65
66
} // namespace libfreehand
67
68
#endif
69
/* vim:set shiftwidth=2 softtabstop=2 expandtab: */