Remoto - VFS: VFS_tcp_export.h Source File
Remoto - VFS
VFS_tcp_export.h
Go to the documentation of this file.
1 #ifndef VFS_TCP_EXPORT_H
2 #define VFS_TCP_EXPORT_H
3 
4 #include <QUdpSocket>
5 
8 
10 {
11  Q_OBJECT
12 
13  public:
14  Q_INVOKABLE explicit VFS_tcp_export(
15  QString exportRoot,
16  quint16 port,
17  QHostAddress address=QHostAddress::Any,
18  bool ssl=false,
19  QString sslCertPath="",
20  QString sslKeyPath="",
21  QByteArray icon="",
22  QString broadcastName="",
23  QString broadcastAddress="",
24  QString multicastAddress="",
25  quint16 multicastPort=0,
26  QJsonArray tags=QJsonArray()
27  );
28  virtual ~VFS_tcp_export();
29 
30  virtual QString reportDetails();
31 
32  protected:
33 
34  QString _exportRoot;
35 
36  virtual VFS_tcp_client *newClient(QTcpSocket *socket, bool ssl=false, QSslConfiguration sslConfiguration=QSslConfiguration());
37 
38  virtual QByteArray icon();
39  virtual void sendBroadcast();
40  virtual void timerEvent(QTimerEvent *event);
41 
43  QString _broadcastName;
45  QUdpSocket _broadcastSocket;
46  quint16 _multicastPort;
47  QHostAddress _multicastAddress;
48  QJsonArray _tags;
49 
50  private:
51  QByteArray _icon;
52 
53  signals:
54 
55  public slots:
56  virtual bool listen();
57  virtual void clientMessage(QByteArray message);
58 
59  protected slots:
60  //virtual void newConnection();
61  virtual void startBroadcast();
62 };
63 
64 #endif // VFS_TCP_EXPORT_H
Open a listening TCP socket for mounting one VFS into another.
virtual ~VFS_tcp_export()
Q_INVOKABLE VFS_tcp_export(QString exportRoot, quint16 port, QHostAddress address=QHostAddress::Any, bool ssl=false, QString sslCertPath="", QString sslKeyPath="", QByteArray icon="", QString broadcastName="", QString broadcastAddress="", QString multicastAddress="", quint16 multicastPort=0, QJsonArray tags=QJsonArray())
VFS_tcp_export constructor.
virtual void timerEvent(QTimerEvent *event)
A timer event has fired, probably for sendBroadcast.
quint16 _multicastPort
QString _broadcastAddress
QString _broadcastName
virtual VFS_tcp_client * newClient(QTcpSocket *socket, bool ssl=false, QSslConfiguration sslConfiguration=QSslConfiguration())
Create a new VFS_tcp_export_client with the new socket.
QByteArray _icon
The optional override icon.
virtual QByteArray icon()
VFS_tcp_mount::icon.
virtual void startBroadcast()
Start broadcasting this mount.
QJsonArray _tags
QHostAddress _multicastAddress
virtual QString reportDetails()
Report details of this node.
QString _exportRoot
The VFS path to export.
virtual bool listen()
Open the server socket and listen for new connections.
QUdpSocket _broadcastSocket
virtual void sendBroadcast()
Broadcast information about this mount to the network.
virtual void clientMessage(QByteArray message)
A client message has been received.
Open a listening TCP port for other clients to connect to.