File indexing completed on 2024-05-19 16:31:58

0001 /*
0002  *  SPDX-FileCopyrightText: 2009 David Hubner <hubnerd@ntlworld.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  *
0006  */
0007 
0008 #ifndef SOLDEVICETYPES
0009 #define SOLDEVICETYPES
0010 
0011 #include "infopanel.h"
0012 #include "soldevice.h"
0013 
0014 class QVListLayout;
0015 
0016 class SolProcessorDevice : public SolDevice
0017 {
0018 public:
0019     SolProcessorDevice(const Solid::DeviceInterface::Type &);
0020     SolProcessorDevice(QTreeWidgetItem *, const Solid::Device &);
0021     QVListLayout *infoPanelLayout() override;
0022 
0023 private:
0024     void setDefaultDeviceText() override;
0025     void setDefaultListing(const Solid::DeviceInterface::Type &) override;
0026 };
0027 
0028 class SolStorageDevice : public SolDevice
0029 {
0030 public:
0031     enum storageChildren {
0032         CREATECHILDREN,
0033         NOCHILDREN,
0034     };
0035 
0036     SolStorageDevice(const Solid::DeviceInterface::Type &);
0037     SolStorageDevice(QTreeWidgetItem *, const Solid::Device &, const storageChildren & = CREATECHILDREN);
0038     QVListLayout *infoPanelLayout() override;
0039 
0040 private:
0041     void setDefaultDeviceText() override;
0042     void setDefaultListing(const Solid::DeviceInterface::Type &) override;
0043 };
0044 
0045 class SolVolumeDevice : public SolDevice
0046 {
0047 public:
0048     SolVolumeDevice(const Solid::DeviceInterface::Type &);
0049     SolVolumeDevice(QTreeWidgetItem *, const Solid::Device &);
0050     QVListLayout *infoPanelLayout() override;
0051 
0052 private:
0053     void setDefaultListing(const Solid::DeviceInterface::Type &) override;
0054 };
0055 
0056 class SolMediaPlayerDevice : public SolDevice
0057 {
0058 public:
0059     SolMediaPlayerDevice(const Solid::DeviceInterface::Type &);
0060     SolMediaPlayerDevice(QTreeWidgetItem *, const Solid::Device &);
0061     QVListLayout *infoPanelLayout() override;
0062 
0063 private:
0064     void setDefaultListing(const Solid::DeviceInterface::Type &) override;
0065 };
0066 
0067 class SolCameraDevice : public SolDevice
0068 {
0069 public:
0070     SolCameraDevice(const Solid::DeviceInterface::Type &);
0071     SolCameraDevice(QTreeWidgetItem *, const Solid::Device &);
0072     QVListLayout *infoPanelLayout() override;
0073 
0074 private:
0075     void setDefaultListing(const Solid::DeviceInterface::Type &) override;
0076 };
0077 
0078 class SolBatteryDevice : public SolDevice
0079 {
0080 public:
0081     SolBatteryDevice(const Solid::DeviceInterface::Type &);
0082     SolBatteryDevice(QTreeWidgetItem *, const Solid::Device &);
0083     QVListLayout *infoPanelLayout() override;
0084 
0085 private:
0086     void setDefaultListing(const Solid::DeviceInterface::Type &) override;
0087 };
0088 
0089 #endif //