13 #ifndef hifi_AssignmentClient_h
14 #define hifi_AssignmentClient_h
16 #include <QtCore/QCoreApplication>
17 #include <QtCore/QPointer>
18 #include <QtCore/QSharedPointer>
20 #include <shared/WebRTC.h>
22 #include "ThreadedAssignment.h"
26 class AssignmentClient :
public QObject {
29 AssignmentClient(Assignment::Type requestAssignmentType, QString assignmentPool,
30 quint16 listenPort, QString assignmentServerHostname,
31 quint16 assignmentServerPort, quint16 assignmentMonitorPort,
32 bool disableDomainPortAutoDiscovery);
39 void sendAssignmentRequest();
40 void assignmentCompleted();
41 void handleAuthenticationRequest();
42 void sendStatusPacketToACM();
43 void stopAssignmentClient();
44 void handleCreateAssignmentPacket(QSharedPointer<ReceivedMessage> message);
45 void handleStopNodePacket(QSharedPointer<ReceivedMessage> message);
46 #if defined(WEBRTC_DATA_CHANNELS)
47 void handleWebRTCSignalingPacket(QSharedPointer<ReceivedMessage> message);
48 void sendSignalingMessageToUserClient(
const QJsonObject& json);
52 #if defined(WEBRTC_DATA_CHANNELS)
53 void webrtcSignalingMessageFromUserClient(
const QJsonObject& json);
57 void setUpStatusToMonitor();
60 QPointer<ThreadedAssignment> _currentAssignment;
61 bool _isAssigned {
false };
62 QString _assignmentServerHostname;
63 SockAddr _assignmentServerSocket;
65 QTimer _statsTimerACM;
66 QUuid _childAssignmentUUID = QUuid::createUuid();
67 bool _disableDomainPortAutoDiscovery {
false };
70 SockAddr _assignmentClientMonitorSocket;
Holds information used for request, creation, and deployment of assignments.
Definition: Assignment.h:28