/usr/include/solid/deviceinterface.h is in kdelibs5-dev 4:4.14.16-0ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | /*
Copyright 2006-2007 Kevin Ottens <ervin@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) version 3, or any
later version accepted by the membership of KDE e.V. (or its
successor approved by the membership of KDE e.V.), which shall
act as a proxy defined in Section 6 of version 3 of the license.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef SOLID_DEVICEINTERFACE_H
#define SOLID_DEVICEINTERFACE_H
#include <QtCore/QObject>
#include <QtCore/QBool>
#include <solid/solid_export.h>
namespace Solid
{
class Device;
class DevicePrivate;
class Predicate;
class DeviceInterfacePrivate;
/**
* Base class of all the device interfaces.
*
* A device interface describes what a device can do. A device generally has
* a set of device interfaces.
*/
class SOLID_EXPORT DeviceInterface : public QObject
{
Q_OBJECT
Q_ENUMS(Type)
Q_DECLARE_PRIVATE(DeviceInterface)
public:
/**
* This enum type defines the type of device interface that a Device can have.
*
* - Unknown : An undetermined device interface
* - Processor : A processor
* - Block : A block device
* - StorageAccess : A mechanism to access data on a storage device
* - StorageDrive : A storage drive
* - OpticalDrive : An optical drive (CD-ROM, DVD, ...)
* - StorageVolume : A volume
* - OpticalDisc : An optical disc
* - Camera : A digital camera
* - PortableMediaPlayer: A portable media player
* - NetworkInterface: A network interface
* - SerialInterface: A serial interface
* - SmartCardReader: A smart card reader interface
* - NetworkShare: A network share interface
*/
enum Type { Unknown = 0, GenericInterface = 1, Processor = 2,
Block = 3, StorageAccess = 4, StorageDrive = 5,
OpticalDrive = 6, StorageVolume = 7, OpticalDisc = 8,
Camera = 9, PortableMediaPlayer = 10,
NetworkInterface = 11, AcAdapter = 12, Battery = 13,
Button = 14, AudioInterface = 15, DvbInterface = 16, Video = 17,
SerialInterface = 18, SmartCardReader = 19, InternetGateway = 20,
NetworkShare = 21, Last = 0xffff };
/**
* Destroys a DeviceInterface object.
*/
virtual ~DeviceInterface();
/**
* Indicates if this device interface is valid.
* A device interface is considered valid if the device it is referring is available in the system.
*
* @return true if this device interface's device is available, false otherwise
*/
bool isValid() const;
/**
*
* @return the class name of the device interface type
*/
static QString typeToString(Type type);
/**
*
* @return the device interface type for the given class name
*/
static Type stringToType(const QString &type);
/**
*
* @return a description suitable to display in the UI of the device interface type
* @since 4.4
*/
static QString typeDescription(Type type);
protected:
/**
* @internal
* Creates a new DeviceInterface object.
*
* @param dd the private d member. It will take care of deleting it upon destruction.
* @param backendObject the device interface object provided by the backend
*/
DeviceInterface(DeviceInterfacePrivate &dd, QObject *backendObject);
DeviceInterfacePrivate *d_ptr;
private:
friend class Device;
friend class DevicePrivate;
};
}
#endif
|