add node local ID retreivable from NodeData

This commit is contained in:
Stephen Birarda 2018-08-07 11:29:03 -07:00
parent ac835650b7
commit f23a036f4a
8 changed files with 15 additions and 13 deletions

View file

@ -366,7 +366,7 @@ AudioMixerClientData* AudioMixer::getOrCreateClientData(Node* node) {
auto clientData = dynamic_cast<AudioMixerClientData*>(node->getLinkedData()); auto clientData = dynamic_cast<AudioMixerClientData*>(node->getLinkedData());
if (!clientData) { if (!clientData) {
node->setLinkedData(std::unique_ptr<NodeData> { new AudioMixerClientData(node->getUUID()) }); node->setLinkedData(std::unique_ptr<NodeData> { new AudioMixerClientData(node->getUUID(), node->getLocalID()) });
clientData = dynamic_cast<AudioMixerClientData*>(node->getLinkedData()); clientData = dynamic_cast<AudioMixerClientData*>(node->getLinkedData());
connect(clientData, &AudioMixerClientData::injectorStreamFinished, this, &AudioMixer::removeHRTFsForFinishedInjector); connect(clientData, &AudioMixerClientData::injectorStreamFinished, this, &AudioMixer::removeHRTFsForFinishedInjector);
} }

View file

@ -25,8 +25,8 @@
#include "AudioHelpers.h" #include "AudioHelpers.h"
#include "AudioMixer.h" #include "AudioMixer.h"
AudioMixerClientData::AudioMixerClientData(const QUuid& nodeID) : AudioMixerClientData::AudioMixerClientData(const QUuid& nodeID, Node::LocalID nodeLocalID) :
NodeData(nodeID), NodeData(nodeID, nodeLocalID),
audioLimiter(AudioConstants::SAMPLE_RATE, AudioConstants::STEREO), audioLimiter(AudioConstants::SAMPLE_RATE, AudioConstants::STEREO),
_ignoreZone(*this), _ignoreZone(*this),
_outgoingMixedAudioSequenceNumber(0), _outgoingMixedAudioSequenceNumber(0),

View file

@ -30,7 +30,7 @@
class AudioMixerClientData : public NodeData { class AudioMixerClientData : public NodeData {
Q_OBJECT Q_OBJECT
public: public:
AudioMixerClientData(const QUuid& nodeID); AudioMixerClientData(const QUuid& nodeID, Node::LocalID nodeLocalID);
~AudioMixerClientData(); ~AudioMixerClientData();
using SharedStreamPointer = std::shared_ptr<PositionalAudioStream>; using SharedStreamPointer = std::shared_ptr<PositionalAudioStream>;

View file

@ -904,7 +904,7 @@ AvatarMixerClientData* AvatarMixer::getOrCreateClientData(SharedNodePointer node
auto clientData = dynamic_cast<AvatarMixerClientData*>(node->getLinkedData()); auto clientData = dynamic_cast<AvatarMixerClientData*>(node->getLinkedData());
if (!clientData) { if (!clientData) {
node->setLinkedData(std::unique_ptr<NodeData> { new AvatarMixerClientData(node->getUUID()) }); node->setLinkedData(std::unique_ptr<NodeData> { new AvatarMixerClientData(node->getUUID(), node->getLocalID()) });
clientData = dynamic_cast<AvatarMixerClientData*>(node->getLinkedData()); clientData = dynamic_cast<AvatarMixerClientData*>(node->getLinkedData());
auto& avatar = clientData->getAvatar(); auto& avatar = clientData->getAvatar();
avatar.setDomainMinimumHeight(_domainMinimumHeight); avatar.setDomainMinimumHeight(_domainMinimumHeight);

View file

@ -16,7 +16,7 @@
#include <DependencyManager.h> #include <DependencyManager.h>
#include <NodeList.h> #include <NodeList.h>
AvatarMixerClientData::AvatarMixerClientData(const QUuid& nodeID) : AvatarMixerClientData::AvatarMixerClientData(const QUuid& nodeID, Node::LocalID nodeLocalID) :
NodeData(nodeID) NodeData(nodeID)
{ {
// in case somebody calls getSessionUUID on the AvatarData instance, make sure it has the right ID // in case somebody calls getSessionUUID on the AvatarData instance, make sure it has the right ID

View file

@ -36,7 +36,7 @@ const QString INBOUND_AVATAR_DATA_STATS_KEY = "inbound_av_data_kbps";
class AvatarMixerClientData : public NodeData { class AvatarMixerClientData : public NodeData {
Q_OBJECT Q_OBJECT
public: public:
AvatarMixerClientData(const QUuid& nodeID = QUuid()); AvatarMixerClientData(const QUuid& nodeID, Node::LocalID nodeLocalID);
virtual ~AvatarMixerClientData() {} virtual ~AvatarMixerClientData() {}
using HRCTime = p_high_resolution_clock::time_point; using HRCTime = p_high_resolution_clock::time_point;

View file

@ -11,13 +11,12 @@
#include "NodeData.h" #include "NodeData.h"
NodeData::NodeData(const QUuid& nodeID) : NodeData::NodeData(const QUuid& nodeID, NetworkPeer::LocalID nodeLocalID) :
_mutex(), _mutex(),
_nodeID(nodeID) _nodeID(nodeID),
_nodeLocalID(nodeLocalID)
{ {
} }
NodeData::~NodeData() { NodeData::~NodeData() {}
}

View file

@ -16,6 +16,7 @@
#include <QtCore/QObject> #include <QtCore/QObject>
#include <QtCore/QSharedPointer> #include <QtCore/QSharedPointer>
#include "NetworkPeer.h"
#include "NLPacket.h" #include "NLPacket.h"
#include "ReceivedMessage.h" #include "ReceivedMessage.h"
@ -24,17 +25,19 @@ class Node;
class NodeData : public QObject { class NodeData : public QObject {
Q_OBJECT Q_OBJECT
public: public:
NodeData(const QUuid& nodeID = QUuid()); NodeData(const QUuid& nodeID = QUuid(), NetworkPeer::LocalID localID = NetworkPeer::NULL_LOCAL_ID);
virtual ~NodeData() = 0; virtual ~NodeData() = 0;
virtual int parseData(ReceivedMessage& message) { return 0; } virtual int parseData(ReceivedMessage& message) { return 0; }
const QUuid& getNodeID() const { return _nodeID; } const QUuid& getNodeID() const { return _nodeID; }
NetworkPeer::LocalID getNodeLocalID() const { return _nodeLocalID; }
QMutex& getMutex() { return _mutex; } QMutex& getMutex() { return _mutex; }
private: private:
QMutex _mutex; QMutex _mutex;
QUuid _nodeID; QUuid _nodeID;
NetworkPeer::LocalID _nodeLocalID;
}; };
#endif // hifi_NodeData_h #endif // hifi_NodeData_h