Clementine-audio-player-Mac.../src/devices/macdevicelister.h

46 lines
1.2 KiB
C
Raw Normal View History

#ifndef MACDEVICELISTER_H
#define MACDEVICELISTER_H
#include "devicelister.h"
#include <QThread>
#include <DiskArbitration/DADisk.h>
#include <DiskArbitration/DADissenter.h>
#include <IOKit/IOKitLib.h>
class MacDeviceLister : public DeviceLister {
Q_OBJECT
public:
MacDeviceLister();
~MacDeviceLister();
virtual QStringList DeviceUniqueIDs();
virtual QStringList DeviceIcons(const QString& id);
virtual QString DeviceManufacturer(const QString& id);
virtual QString DeviceModel(const QString& id);
virtual quint64 DeviceCapacity(const QString& id);
virtual quint64 DeviceFreeSpace(const QString& id);
virtual QVariantMap DeviceHardwareInfo(const QString& id);
virtual QString MakeFriendlyName(const QString& id);
2010-08-01 13:55:01 +02:00
virtual QList<QUrl> MakeDeviceUrls(const QString& id);
virtual void UnmountDevice(const QString &id);
2010-08-14 20:37:16 +02:00
virtual void UpdateDeviceFreeSpace(const QString& id);
private:
virtual void Init();
static void DiskAddedCallback(DADiskRef disk, void* context);
static void DiskRemovedCallback(DADiskRef disk, void* context);
2010-07-25 03:29:22 +02:00
static void DiskUnmountCallback(
DADiskRef disk, DADissenterRef dissenter, void* context);
DASessionRef loop_session_;
2010-07-24 20:34:22 +02:00
QMap<QString, QString> current_devices_;
};
#endif