1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #ifndef TIZENUTILS_SDBCOMMANDEXECUTOR_H
- #define TIZENUTILS_SDBCOMMANDEXECUTOR_H
- #include "tizenutils_global.h"
- #include "sdbconnector.h"
- #include <QPointer>
- #include <QIODevice>
- namespace Tizen {
- class TIZENUTILS_EXPORT SdbCommandExecutor : public QIODevice
- {
- Q_OBJECT
- public:
- SdbCommandExecutor(SdbConnector * connector, QObject * parent = 0);
- virtual ~SdbCommandExecutor();
- virtual bool atEnd() const;
- virtual qint64 bytesAvailable() const;
- virtual bool canReadLine() const;
- virtual void close();
- virtual bool isSequential() const;
- signals:
- void started();
- void finished();
- void failed();
- public slots:
- void start(const QString& deviceId, const QString& command);
- protected:
- virtual qint64 readData(char *data, qint64 maxlen);
- virtual qint64 writeData(const char *data, qint64 len);
- private slots:
- void socketReadyRead();
- void socketConnected();
- void socketDisconnected();
- void socketError(QAbstractSocket::SocketError error);
- private:
- enum State {
- Disconnected,
- Connecting,
- WaitForInitResponse,
- WaitForExecResponse,
- Disconnecting,
- Running
- };
- QPointer<SdbConnector> m_connector;
- QTcpSocket * m_socket;
- QByteArray m_buffer;
- State m_state;
- QString m_command;
- QString m_deviceId;
- QByteArray m_cmdBuffer;
- };
- }
- #endif
|