From 4c68faec400e4c6d75a53528d8064a3448707158 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Wed, 5 Dec 2012 19:34:27 +0100 Subject: Added LLMaterialMgr::getAll() to retrieve all materials for the specified region --- indra/newview/llmaterialmgr.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'indra/newview/llmaterialmgr.h') diff --git a/indra/newview/llmaterialmgr.h b/indra/newview/llmaterialmgr.h index 49d1029522..9e5efd7041 100644 --- a/indra/newview/llmaterialmgr.h +++ b/indra/newview/llmaterialmgr.h @@ -39,17 +39,26 @@ protected: virtual ~LLMaterialMgr(); public: + typedef std::map material_map_t; + typedef boost::signals2::signal get_callback_t; const LLMaterialPtr get(const LLMaterialID& material_id); boost::signals2::connection get(const LLMaterialID& material_id, get_callback_t::slot_type cb); + typedef boost::signals2::signal getall_callback_t; + void getAll(const LLUUID& region_id); + boost::signals2::connection getAll(const LLUUID& region_id, getall_callback_t::slot_type cb); void put(const LLUUID& object_id, const U8 te, const LLMaterial& material); protected: bool isGetPending(const LLMaterialID& material_id); + bool isGetAllPending(const LLUUID& region_id); + const LLMaterialPtr setMaterial(const LLMaterialID& material_id, const LLSD& material_data); static void onIdle(void*); void processGetQueue(); void onGetResponse(bool success, const LLSD& content); + void processGetAllQueue(); + void onGetAllResponse(bool success, const LLSD& content, const LLUUID& region_id); void processPutQueue(); void onPutResponse(bool success, const LLSD& content, const LLUUID& object_id); @@ -61,11 +70,17 @@ protected: typedef std::map get_callback_map_t; get_callback_map_t mGetCallbacks; + typedef std::set getall_queue_t; + getall_queue_t mGetAllQueue; + typedef std::map getall_pending_map_t; + getall_pending_map_t mGetAllPending; + typedef std::map getall_callback_map_t; + getall_callback_map_t mGetAllCallbacks; + typedef std::map facematerial_map_t; typedef std::map put_queue_t; put_queue_t mPutQueue; - typedef std::map material_map_t; material_map_t mMaterials; }; -- cgit v1.2.3