diff options
Diffstat (limited to 'indra/newview/llpathfindingobject.cpp')
-rw-r--r-- | indra/newview/llpathfindingobject.cpp | 206 |
1 files changed, 103 insertions, 103 deletions
diff --git a/indra/newview/llpathfindingobject.cpp b/indra/newview/llpathfindingobject.cpp index 900763eae4..b9038254e7 100644 --- a/indra/newview/llpathfindingobject.cpp +++ b/indra/newview/llpathfindingobject.cpp @@ -1,4 +1,4 @@ -/** +/** * @file llpathfindingobject.cpp * @brief Implementation of llpathfindingobject * @author Stinson@lindenlab.com @@ -49,152 +49,152 @@ //--------------------------------------------------------------------------- LLPathfindingObject::LLPathfindingObject() - : mUUID(), - mName(), - mDescription(), - mOwnerUUID(), - mHasOwnerName(false), - mOwnerName(), - mAvatarNameCacheConnection(), - mIsGroupOwned(false), - mLocation(), - mOwnerNameSignal() + : mUUID(), + mName(), + mDescription(), + mOwnerUUID(), + mHasOwnerName(false), + mOwnerName(), + mAvatarNameCacheConnection(), + mIsGroupOwned(false), + mLocation(), + mOwnerNameSignal() { } LLPathfindingObject::LLPathfindingObject(const std::string &pUUID, const LLSD &pObjectData) - : mUUID(pUUID), - mName(), - mDescription(), - mOwnerUUID(), - mHasOwnerName(false), - mOwnerName(), - mAvatarNameCacheConnection(), - mIsGroupOwned(false), - mLocation(), - mOwnerNameSignal() + : mUUID(pUUID), + mName(), + mDescription(), + mOwnerUUID(), + mHasOwnerName(false), + mOwnerName(), + mAvatarNameCacheConnection(), + mIsGroupOwned(false), + mLocation(), + mOwnerNameSignal() { - parseObjectData(pObjectData); + parseObjectData(pObjectData); } LLPathfindingObject::LLPathfindingObject(const LLPathfindingObject& pOther) - : mUUID(pOther.mUUID), - mName(pOther.mName), - mDescription(pOther.mDescription), - mOwnerUUID(pOther.mOwnerUUID), - mHasOwnerName(false), - mOwnerName(), - mAvatarNameCacheConnection(), - mIsGroupOwned(pOther.mIsGroupOwned), - mLocation(pOther.mLocation), - mOwnerNameSignal() + : mUUID(pOther.mUUID), + mName(pOther.mName), + mDescription(pOther.mDescription), + mOwnerUUID(pOther.mOwnerUUID), + mHasOwnerName(false), + mOwnerName(), + mAvatarNameCacheConnection(), + mIsGroupOwned(pOther.mIsGroupOwned), + mLocation(pOther.mLocation), + mOwnerNameSignal() { - fetchOwnerName(); + fetchOwnerName(); } LLPathfindingObject::~LLPathfindingObject() { - disconnectAvatarNameCacheConnection(); + disconnectAvatarNameCacheConnection(); } LLPathfindingObject &LLPathfindingObject::operator =(const LLPathfindingObject& pOther) { - mUUID = pOther.mUUID; - mName = pOther.mName; - mDescription = pOther.mDescription; - mOwnerUUID = pOther.mOwnerUUID; - fetchOwnerName(); - mIsGroupOwned = pOther.mIsGroupOwned; - mLocation = pOther.mLocation; - - return *this; + mUUID = pOther.mUUID; + mName = pOther.mName; + mDescription = pOther.mDescription; + mOwnerUUID = pOther.mOwnerUUID; + fetchOwnerName(); + mIsGroupOwned = pOther.mIsGroupOwned; + mLocation = pOther.mLocation; + + return *this; } std::string LLPathfindingObject::getOwnerName() const { - std::string ownerName; + std::string ownerName; - if (hasOwner()) - { - ownerName = mOwnerName.getCompleteName(); - } + if (hasOwner()) + { + ownerName = mOwnerName.getCompleteName(); + } - return ownerName; + return ownerName; } LLPathfindingObject::name_connection_t LLPathfindingObject::registerOwnerNameListener(name_callback_t pOwnerNameCallback) { - llassert(hasOwner()); - - name_connection_t connection; - if (hasOwnerName()) - { - pOwnerNameCallback(this); - } - else - { - connection = mOwnerNameSignal.connect(pOwnerNameCallback); - } - - return connection; + llassert(hasOwner()); + + name_connection_t connection; + if (hasOwnerName()) + { + pOwnerNameCallback(this); + } + else + { + connection = mOwnerNameSignal.connect(pOwnerNameCallback); + } + + return connection; } void LLPathfindingObject::parseObjectData(const LLSD &pObjectData) { - llassert(pObjectData.has(PATHFINDING_OBJECT_NAME_FIELD)); - llassert(pObjectData.get(PATHFINDING_OBJECT_NAME_FIELD).isString()); - mName = pObjectData.get(PATHFINDING_OBJECT_NAME_FIELD).asString(); - - llassert(pObjectData.has(PATHFINDING_OBJECT_DESCRIPTION_FIELD)); - llassert(pObjectData.get(PATHFINDING_OBJECT_DESCRIPTION_FIELD).isString()); - mDescription = pObjectData.get(PATHFINDING_OBJECT_DESCRIPTION_FIELD).asString(); - - llassert(pObjectData.has(PATHFINDING_OBJECT_OWNER_FIELD)); - llassert(pObjectData.get(PATHFINDING_OBJECT_OWNER_FIELD).isUUID()); - mOwnerUUID = pObjectData.get(PATHFINDING_OBJECT_OWNER_FIELD).asUUID(); - fetchOwnerName(); - - if (pObjectData.has(PATHFINDING_OBJECT_IS_GROUP_OWNED_FIELD)) - { - llassert(pObjectData.get(PATHFINDING_OBJECT_IS_GROUP_OWNED_FIELD).isBoolean()); - mIsGroupOwned = pObjectData.get(PATHFINDING_OBJECT_IS_GROUP_OWNED_FIELD).asBoolean(); - } - - llassert(pObjectData.has(PATHFINDING_OBJECT_POSITION_FIELD)); - llassert(pObjectData.get(PATHFINDING_OBJECT_POSITION_FIELD).isArray()); - mLocation.setValue(pObjectData.get(PATHFINDING_OBJECT_POSITION_FIELD)); + llassert(pObjectData.has(PATHFINDING_OBJECT_NAME_FIELD)); + llassert(pObjectData.get(PATHFINDING_OBJECT_NAME_FIELD).isString()); + mName = pObjectData.get(PATHFINDING_OBJECT_NAME_FIELD).asString(); + + llassert(pObjectData.has(PATHFINDING_OBJECT_DESCRIPTION_FIELD)); + llassert(pObjectData.get(PATHFINDING_OBJECT_DESCRIPTION_FIELD).isString()); + mDescription = pObjectData.get(PATHFINDING_OBJECT_DESCRIPTION_FIELD).asString(); + + llassert(pObjectData.has(PATHFINDING_OBJECT_OWNER_FIELD)); + llassert(pObjectData.get(PATHFINDING_OBJECT_OWNER_FIELD).isUUID()); + mOwnerUUID = pObjectData.get(PATHFINDING_OBJECT_OWNER_FIELD).asUUID(); + fetchOwnerName(); + + if (pObjectData.has(PATHFINDING_OBJECT_IS_GROUP_OWNED_FIELD)) + { + llassert(pObjectData.get(PATHFINDING_OBJECT_IS_GROUP_OWNED_FIELD).isBoolean()); + mIsGroupOwned = pObjectData.get(PATHFINDING_OBJECT_IS_GROUP_OWNED_FIELD).asBoolean(); + } + + llassert(pObjectData.has(PATHFINDING_OBJECT_POSITION_FIELD)); + llassert(pObjectData.get(PATHFINDING_OBJECT_POSITION_FIELD).isArray()); + mLocation.setValue(pObjectData.get(PATHFINDING_OBJECT_POSITION_FIELD)); } void LLPathfindingObject::fetchOwnerName() { - mHasOwnerName = false; - if (hasOwner()) - { - mHasOwnerName = LLAvatarNameCache::get(mOwnerUUID, &mOwnerName); - if (!mHasOwnerName) - { - disconnectAvatarNameCacheConnection(); - mAvatarNameCacheConnection = LLAvatarNameCache::get(mOwnerUUID, boost::bind(&LLPathfindingObject::handleAvatarNameFetch, this, _1, _2)); - } - } + mHasOwnerName = false; + if (hasOwner()) + { + mHasOwnerName = LLAvatarNameCache::get(mOwnerUUID, &mOwnerName); + if (!mHasOwnerName) + { + disconnectAvatarNameCacheConnection(); + mAvatarNameCacheConnection = LLAvatarNameCache::get(mOwnerUUID, boost::bind(&LLPathfindingObject::handleAvatarNameFetch, this, _1, _2)); + } + } } void LLPathfindingObject::handleAvatarNameFetch(const LLUUID &pOwnerUUID, const LLAvatarName &pAvatarName) { - llassert(mOwnerUUID == pOwnerUUID); + llassert(mOwnerUUID == pOwnerUUID); - mOwnerName = pAvatarName; - mHasOwnerName = true; + mOwnerName = pAvatarName; + mHasOwnerName = true; - disconnectAvatarNameCacheConnection(); + disconnectAvatarNameCacheConnection(); - mOwnerNameSignal(this); + mOwnerNameSignal(this); } void LLPathfindingObject::disconnectAvatarNameCacheConnection() { - if (mAvatarNameCacheConnection.connected()) - { - mAvatarNameCacheConnection.disconnect(); - } + if (mAvatarNameCacheConnection.connected()) + { + mAvatarNameCacheConnection.disconnect(); + } } |