Rabbit Remote Control 0.1.0-bate14
Loading...
Searching...
No Matches
Channel.h
1// Author: Kang Lin <kl222@126.com>
2
3#ifndef CDATACHANNEL_H
4#define CDATACHANNEL_H
5
6#pragma once
7
8#include <QIODevice>
9#include <QTcpSocket>
10#include <QMessageBox>
11#include <QMutex>
12#include "plugin_export.h"
13#include "Stats.h"
14
15#define DEFAULT_TIMEOUT 500000
16
27class PLUGIN_EXPORT CChannel : public QIODevice
28{
29 Q_OBJECT
30
31public:
37 explicit CChannel(QTcpSocket* pSocket, QObject *parent = nullptr);
38 virtual ~CChannel();
39
45 virtual bool open(OpenMode mode) override;
46 virtual void close() override;
47
50 virtual QString GetDetails();
51
53 static int InitTranslation();
55 static int RemoveTranslation();
56
57Q_SIGNALS:
65 void sigError(int nErr, const QString& szErr);
66
71 void sigSecurityLevel(CSecurityLevel::Levels level);
76 void sigSend(quint64 counts);
81 void sigReceive(quint64 counts);
82
83private Q_SLOTS:
84 void slotError(QAbstractSocket::SocketError e);
85
86private:
87 QTcpSocket* m_pSocket;
88
89protected:
90 explicit CChannel(QObject *parent = nullptr);
91
92 // QIODevice interface
93protected:
94 virtual qint64 readData(char *data, qint64 maxlen) override;
95 virtual qint64 writeData(const char *data, qint64 len) override;
96 virtual bool isSequential() const override;
97};
98
99#endif // CDATACHANNEL_H
static int RemoveTranslation()
Remove translation.
Definition Channel.cpp:142
static int InitTranslation()
Initial translation.
Definition Channel.cpp:134
void sigSend(quint64 counts)
Send data counts.
void sigConnected()
emit when the channel is connected.
void sigReceive(quint64 counts)
Receive data counts.
void sigDisconnected()
emit when the channel is disconnected
void sigError(int nErr, const QString &szErr)
emit when the channel is error
void sigSecurityLevel(CSecurityLevel::Levels level)
Triggered when the security level changes.
virtual bool open(OpenMode mode) override
Definition Channel.cpp:92
virtual QString GetDetails()
Depend on information.
Definition Channel.cpp:129
CChannel(QTcpSocket *pSocket, QObject *parent=nullptr)
CChannel.
Definition Channel.cpp:19