Solid

udisksopticaldisc.h
1/*
2 SPDX-FileCopyrightText: 2010 Michael Zanetti <mzanetti@kde.org>
3 SPDX-FileCopyrightText: 2010-2012 Lukáš Tinkl <ltinkl@redhat.com>
4
5 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6*/
7
8#ifndef UDISKSOPTICALDISC_H
9#define UDISKSOPTICALDISC_H
10
11#include <solid/devices/ifaces/opticaldisc.h>
12
13#include "../shared/udevqt.h"
14#include <config-solid.h>
15
16#include "udisksdevice.h"
17#include "udisksstoragevolume.h"
18
19namespace Solid
20{
21namespace Backends
22{
23namespace UDisks2
24{
25class OpticalDisc : public StorageVolume, virtual public Solid::Ifaces::OpticalDisc
26{
29
30public:
31 OpticalDisc(Device *dev);
32 ~OpticalDisc() override;
33
34 qulonglong capacity() const override;
35 bool isRewritable() const override;
36 bool isBlank() const override;
37 bool isAppendable() const override;
38 Solid::OpticalDisc::DiscType discType() const override;
39 Solid::OpticalDisc::ContentTypes availableContent() const override;
40
41 class Identity
42 {
43 public:
44 Identity();
45 Identity(const Device &device, const Device &drive);
46 bool operator==(const Identity &) const;
47
48 private:
49 long long m_detectTime;
50 long long m_size;
51 uint m_labelHash;
52 };
53
54private:
55 mutable Identity m_identity;
56 QString media() const;
57 mutable Solid::OpticalDisc::ContentTypes m_cachedContent;
58 Device *m_drive;
59#if UDEV_FOUND
60 UdevQt::Device m_udevDevice;
61#endif
62};
63
64}
65}
66}
67#endif // UDISKSOPTICALDISC_H
This device interface is available on optical discs.
DiscType
This enum type defines the type of optical disc it can be.
Q_INTERFACES(...)
Q_OBJECTQ_OBJECT
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:03:23 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.