diff options
| author | Rider Linden <rider@lindenlab.com> | 2026-08-05 17:15:43 -0700 |
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2026-08-05 17:15:43 -0700 |
| commit | ebf9cd31d789c0556d741987e95a961edd2955d0 (patch) | |
| tree | b39a67434822dbea7bea6b6ea69117e768db7943 /indra/newview/llscripteditorws.h | |
| parent | f6fa702706aeba8c5a3760a98883943cba3c973b (diff) | |
Move object publishing tracking to its own manager in the viewer.
Diffstat (limited to 'indra/newview/llscripteditorws.h')
| -rw-r--r-- | indra/newview/llscripteditorws.h | 39 |
1 files changed, 3 insertions, 36 deletions
diff --git a/indra/newview/llscripteditorws.h b/indra/newview/llscripteditorws.h index 69c7e1a8e1..475a8049ee 100644 --- a/indra/newview/llscripteditorws.h +++ b/indra/newview/llscripteditorws.h @@ -27,6 +27,7 @@ #pragma once #include "lljsonrpcws.h" +#include "llpublishedobjectmgr.h" #include "llsd.h" #include "lluuid.h" #include "llhandle.h" @@ -45,7 +46,6 @@ class LLScriptEdContainer; class LLScriptEditorWSServer; class LLChat; class LLPanel; -class LLPublishedPrimListener; class LLViewerObject; class LLInventoryItem; @@ -207,7 +207,7 @@ public: bool isObjectPublished(const LLUUID& object_id) const; void onPrimInventoryReady(const LLUUID& object_id, const LLUUID& prim_id); void onPrimInventoryChanged(const LLUUID& object_id, const LLUUID& prim_id); - void onObjectPropertyChanged(const LLUUID& prim_id, const std::string& name, const std::string& desc); + void onObjectPropertyChanged(const LLUUID& prim_id, const std::string& name, const std::string& desc, S16 inventory_serial = -1); void onLinksetChildAdded(const LLUUID& root_id, LLViewerObject* child); void onLinksetChildRemoved(const LLUUID& root_id, const LLUUID& child_id); @@ -242,7 +242,6 @@ protected: LLSD handleObjectScriptReset(U32 connection_id, const LLSD& params); LLSD handleObjectModify(U32 connection_id, const LLSD& params); LLSD handleObjectItemModify(U32 connection_id, const LLSD& params); - LLSD buildPublishedObjectLLSD(LLViewerObject* root) const; struct ValidatedItem { @@ -255,10 +254,8 @@ protected: // --- Object Content Publishing (helpers) --- static std::string getPrimName(LLViewerObject* obj); - LLSD buildPrimInventoryLLSD(LLViewerObject* object) const; void notifyConnection(U32 connection_id, const std::string& method, const LLSD& params) const; void notifyAll(const std::string& method, const LLSD& params) const; - void cleanupPrimListeners(const LLUUID& object_id); void buildAndSendPublish(const LLUUID& object_id); void scheduleLinksetFlush(const LLUUID& root_id, F32 delay); void cancelLinksetFlushTimer(const LLUUID& root_id); @@ -303,32 +300,6 @@ private: }; using subscriptions_t = std::unordered_map<std::string, EditorSubscription>; - struct PublishedPrimInfo - { - LLUUID mPrimID; - std::string mPrimName; - S32 mLinkNumber; // 1=root, >=2=child - S16 mInventorySerial; // last-seen serial for change detection (Phase 4) - }; - - struct PublishedObjectInfo - { - LLUUID mObjectID; // root prim UUID - LLUUID mOwnerID; - std::string mObjectName; - std::string mObjectDescription; - std::string mRegionName; - std::vector<PublishedPrimInfo> mPrims; // root + all children - std::vector<std::unique_ptr<LLPublishedPrimListener>> mListeners; - }; - - struct PendingPublish - { - LLUUID mObjectID; - std::set<LLUUID> mPendingPrims; // prims whose inventory we're still waiting for - std::vector<std::unique_ptr<LLPublishedPrimListener>> mListeners; // listeners for pending prims - }; - SubscriptionError updateScriptSubscription(const std::string &script_id, U32 connection_id); void unsubscribeConnection(U32 connection_id); @@ -340,11 +311,7 @@ private: std::unordered_map<U32, S32> mConnectionSubscriptionCounts; std::map<U32, LLScriptEditorWSConnection::wptr_t> mActiveConnections; - std::map<LLUUID, PublishedObjectInfo> mPublishedObjects; // keyed by root object_id - std::map<LLUUID, PendingPublish> mPendingPublishes; // keyed by root object_id - std::map<LLUUID, std::string> mPendingItemCreates; // prim_id -> pump name awaiting inventory update - std::map<LLUUID, std::set<LLUUID>> mNewChildPrims; // root_id → children awaiting first inventory response - std::map<LLUUID, std::weak_ptr<LLEventTimer>> mLinksetFlushTimers; // root_id → pending coalesce timer + mutable LLPublishedObjectMgr mPublishedObjectManager; boost::signals2::connection mLanguageChangeSignal; LLUUID mLastSyntaxId; |
