summaryrefslogtreecommitdiff
path: root/src/monitor-lib/sysfsreader.h
blob: fe94bae2f285864eaacf56137514122f66cc148d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright (C) 2021 The Qt Company Ltd.
// Copyright (C) 2019 Luxoft Sweden AB
// Copyright (C) 2018 Pelagicore AG
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#pragma once

#include <QtCore/QByteArray>
#include <QtCore/QFile>
#include <QtAppManCommon/global.h>

QT_BEGIN_NAMESPACE_AM

class SysFsReader
{
public:
    SysFsReader(const QByteArray &path, int maxRead = 2048);
    ~SysFsReader();
    bool isOpen() const;
    QByteArray fileName() const;
    QByteArray readValue() const;

private:
    mutable QFile m_fd; // seek() is non-const
    QByteArray m_path;
    mutable QByteArray m_buffer;

    Q_DISABLE_COPY(SysFsReader)
};

QT_END_NAMESPACE_AM