Go to the documentation of this file.00001
00029 #ifndef QMUSBMODE_H
00030 #define QMUSBMODE_H
00031
00032 #include "system_global.h"
00033 #include <QObject>
00034
00035 QT_BEGIN_HEADER
00036
00037 namespace MeeGo
00038 {
00039
00040 class QmUSBModePrivate;
00041
00061 class QmUSBMode : public QObject
00062 {
00063 Q_OBJECT
00064
00065 public:
00066 QmUSBMode(QObject *parent = 0);
00067 ~QmUSBMode();
00068
00072 enum Mode {
00073 Connected = 0,
00074 DataInUse,
00075 Disconnected,
00076 MassStorage,
00077 ChargingOnly,
00078 OviSuite,
00079 ModeRequest,
00080 Ask,
00081 Undefined,
00082 SDK
00083 };
00084
00089 QmUSBMode::Mode getMode();
00090
00097 bool setMode(QmUSBMode::Mode mode);
00098
00104 bool setDefaultMode(QmUSBMode::Mode mode);
00105
00110 QmUSBMode::Mode getDefaultMode();
00111
00115 enum MountPath {
00126 DocumentDirectoryMount = 0
00127 };
00128
00132 enum MountOption {
00133 ReadOnlyMount = 0x0000001,
00134 ReadWriteMount = 0x0000002
00135 };
00136 Q_DECLARE_FLAGS(MountOptionFlags, MountOption)
00137
00138
00142 QmUSBMode::MountOptionFlags mountStatus(QmUSBMode::MountPath mountPath);
00143
00144 Q_SIGNALS:
00145
00156 void modeChanged(MeeGo::QmUSBMode::Mode mode);
00157
00164 void fileSystemWillUnmount(MeeGo::QmUSBMode::MountPath mountPath);
00165
00172 void error(const QString &errorCode);
00173
00174 protected:
00175 void connectNotify(const char *signal);
00176 void disconnectNotify(const char *signal);
00177
00178 private:
00179 Q_DISABLE_COPY(QmUSBMode);
00180 MEEGO_DECLARE_PRIVATE(QmUSBMode);
00181 };
00182
00183 }
00184
00185 QT_END_HEADER
00186
00187 #endif // QMUSBMODE_H