diff options
Diffstat (limited to 'indra/newview/llaccountingcostmanager.h')
-rw-r--r-- | indra/newview/llaccountingcostmanager.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/indra/newview/llaccountingcostmanager.h b/indra/newview/llaccountingcostmanager.h index 8ae696a98d..cccdc2e2d9 100644 --- a/indra/newview/llaccountingcostmanager.h +++ b/indra/newview/llaccountingcostmanager.h @@ -27,8 +27,24 @@ #ifndef LL_ACCOUNTINGQUOTAMANAGER_H #define LL_ACCOUNTINGQUOTAMANAGER_H //=============================================================================== +#include "llhandle.h" + #include "llaccountingcost.h" //=============================================================================== +// An interface class for panels which display the parcel accounting information. +class LLAccountingCostObserver +{ +public: + LLAccountingCostObserver() { mObserverHandle.bind(this); } + virtual ~LLAccountingCostObserver() {} + virtual void onWeightsUpdate(const SelectionCost& selection_cost) = 0; + virtual void setErrorStatus(U32 status, const std::string& reason) = 0; + const LLHandle<LLAccountingCostObserver>& getObserverHandle() const { return mObserverHandle; } + +protected: + LLRootHandle<LLAccountingCostObserver> mObserverHandle; +}; +//=============================================================================== class LLAccountingCostManager : public LLSingleton<LLAccountingCostManager> { public: @@ -37,7 +53,8 @@ public: //Store an object that will be eventually fetched void addObject( const LLUUID& objectID ); //Request quotas for object list - void fetchCosts( eSelectionType selectionType, const std::string& url ); + void fetchCosts( eSelectionType selectionType, const std::string& url, + const LLHandle<LLAccountingCostObserver>& observer_handle ); //Delete a specific object from the pending list void removePendingObject( const LLUUID& objectID ); @@ -52,4 +69,3 @@ private: //=============================================================================== #endif // LLACCOUNTINGCOSTMANAGER - |