From a9ce6c7467edacb7e278b80c7ad1104ff3e1face Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Wed, 22 Jan 2014 12:00:26 -0800 Subject: [PATCH] use NodeList ownerUUID for DataServerScriptingInterface, fix double UUID send --- interface/src/Application.cpp | 7 ++----- libraries/avatars/src/AvatarData.cpp | 3 --- .../script-engine/src/DataServerScriptingInterface.cpp | 6 +++--- libraries/script-engine/src/DataServerScriptingInterface.h | 5 ----- libraries/script-engine/src/ScriptEngine.cpp | 5 ++--- 5 files changed, 7 insertions(+), 19 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 268df17ffd..678c7ab647 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2494,17 +2494,14 @@ void Application::updateAvatar(float deltaTime) { // Get audio loudness data from audio input device _myAvatar.getHead().setAudioLoudness(_audio.getLastInputLoudness()); - NodeList* nodeList = NodeList::getInstance(); - // send head/hand data to the avatar mixer and voxel server unsigned char broadcastString[MAX_PACKET_SIZE]; unsigned char* endOfBroadcastStringWrite = broadcastString; endOfBroadcastStringWrite += populateTypeAndVersion(endOfBroadcastStringWrite, PACKET_TYPE_HEAD_DATA); - QByteArray ownerUUID = nodeList->getOwnerUUID().toRfc4122(); - memcpy(endOfBroadcastStringWrite, ownerUUID.constData(), ownerUUID.size()); - endOfBroadcastStringWrite += ownerUUID.size(); + // pack the NodeList owner UUID + endOfBroadcastStringWrite += NodeList::getInstance()->packOwnerUUID(endOfBroadcastStringWrite); endOfBroadcastStringWrite += _myAvatar.getBroadcastData(endOfBroadcastStringWrite); diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index a0dea1743e..1ae44bb57a 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -68,9 +68,6 @@ int AvatarData::getBroadcastData(unsigned char* destinationBuffer) { _handData = new HandData(this); } - // pack the NodeList owner UUID - destinationBuffer += NodeList::getInstance()->packOwnerUUID(destinationBuffer); - // Body world position memcpy(destinationBuffer, &_position, sizeof(float) * 3); destinationBuffer += sizeof(float) * 3; diff --git a/libraries/script-engine/src/DataServerScriptingInterface.cpp b/libraries/script-engine/src/DataServerScriptingInterface.cpp index 236f46e54c..6effd7ebdc 100644 --- a/libraries/script-engine/src/DataServerScriptingInterface.cpp +++ b/libraries/script-engine/src/DataServerScriptingInterface.cpp @@ -7,15 +7,15 @@ // #include +#include #include "DataServerScriptingInterface.h" -DataServerScriptingInterface::DataServerScriptingInterface() : - _uuid(QUuid::createUuid()) +DataServerScriptingInterface::DataServerScriptingInterface() { } void DataServerScriptingInterface::setValueForKey(const QString& key, const QString& value) { - DataServerClient::putValueForKeyAndUUID(key, value, _uuid); + DataServerClient::putValueForKeyAndUUID(key, value, NodeList::getInstance()->getOwnerUUID()); } \ No newline at end of file diff --git a/libraries/script-engine/src/DataServerScriptingInterface.h b/libraries/script-engine/src/DataServerScriptingInterface.h index 8bd3eea565..b46c0bda7a 100644 --- a/libraries/script-engine/src/DataServerScriptingInterface.h +++ b/libraries/script-engine/src/DataServerScriptingInterface.h @@ -18,13 +18,8 @@ class DataServerScriptingInterface : public QObject { public: DataServerScriptingInterface(); - void refreshUUID() { _uuid = QUuid::createUuid(); } - const QUuid& getUUID() const { return _uuid; } - public slots: void setValueForKey(const QString& key, const QString& value); -private: - QUuid _uuid; }; #endif /* defined(__hifi__DataServerScriptingInterface__) */ diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index a5cb903320..8bb83db2d8 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -41,6 +41,7 @@ static QScriptValue soundConstructor(QScriptContext* context, QScriptEngine* eng ScriptEngine::ScriptEngine(const QString& scriptContents, bool wantMenuItems, const QString& fileNameString, AbstractMenuInterface* menu, AbstractControllerScriptingInterface* controllerScriptingInterface) : + _dataServerScriptingInterface(), _avatarData(NULL) { _scriptContents = scriptContents; @@ -249,9 +250,7 @@ void ScriptEngine::run() { numAvatarHeaderBytes = populateTypeAndVersion(avatarPacket, PACKET_TYPE_HEAD_DATA); // pack the owner UUID for this script - QByteArray ownerUUID = nodeList->getOwnerUUID().toRfc4122(); - memcpy(avatarPacket + numAvatarHeaderBytes, ownerUUID.constData(), ownerUUID.size()); - numAvatarHeaderBytes += ownerUUID.size(); + numAvatarHeaderBytes += NodeList::getInstance()->packOwnerUUID(avatarPacket); } int numAvatarPacketBytes = _avatarData->getBroadcastData(avatarPacket + numAvatarHeaderBytes) + numAvatarHeaderBytes;