summaryrefslogtreecommitdiffstats
path: root/k9devices/k9cddrive.h
blob: e64bc0fb76dc1bdd69fdf70bd553a3adf3194890 (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
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
//
// C++ Interface: k9cddrive
//
// Description: 
//
//
// Author: Jean-Michel PETIT <k9copy@free.fr>, (C) 2007
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef K9CDDRIVE_H
#define K9CDDRIVE_H
#include "k9common.h"

#include <qobject.h>

#include <qstring.h>
#include <qstringlist.h>
#include <qvaluelist.h>
#ifndef HAVE_HAL
#include <k3bdevice.h>
#include <k3bdevicemanager.h>
#endif


/**
  *@author 
  */
class k9HalDevice;
class k9HalConnection;

class k9CdDrive : public QObject {
    Q_OBJECT
public:
    k9CdDrive();
    ~k9CdDrive();
    int num;
    QString name;
    QString device;
    bool canWriteCDR;
    bool canReadDVD;
    bool canWriteDVD;

    void setWriteSpeeds(const QValueList< int >& _value);
    QValueList< int > getWriteSpeeds() const;

    #ifdef HAVE_HAL
    void setDevice(k9HalDevice* _value) { m_Device = _value;}
	
    k9HalDevice* getDevice()  { return m_Device;}
    #endif
private:
   QValueList <int> writeSpeeds;
   #ifdef HAVE_HAL
   k9HalDevice *m_Device;
   #endif
};

class k9CdDrives : public QObject  {
    Q_OBJECT
public:
    k9CdDrives();
    ~k9CdDrives();
    /** No descriptions */
    int count();
    /** No descriptions */
    k9CdDrive * getDrive(int num);
    void eject(const QString & device);
    void scanDrives();
public slots:
   void deviceAdded(k9HalDevice *device);
   void deviceRemoved(k9HalDevice *device);
signals:
    void deviceAdded(k9CdDrive *drive);
    void deviceRemoved(k9CdDrive *drive);
private: // Private methods
    #ifdef HAVE_HAL
    k9HalConnection *m_connection;
    void addDrive(k9HalDevice *_device);
    #else
    K3bDevice::DeviceManager *m_devMgr;
    #endif
    void readConfig();
    QPtrList <k9CdDrive> drives;
};
#endif