Replace MAX_AGENT_ATTACHMENTS with sim based response Replace max groups with benefits based response Upload costs are now handled by sim response Removed no-longer-needed lleconomy files and classes Removed dead fields from hippolimits and hippogridmanager Also removed lame LL code that is redundant and silly On non SL grids, when values are not provided for benefits, they will be set to the values granting maximum liberty. Old standardized responses still work when benefits aren't implemented.
93 lines
2.6 KiB
C++
93 lines
2.6 KiB
C++
/**
|
|
* @file llagentbenefits.h
|
|
*
|
|
* $LicenseInfo:firstyear=2019&license=viewerlgpl$
|
|
* Second Life Viewer Source Code
|
|
* Copyright (C) 2019, Linden Research, Inc.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation;
|
|
* version 2.1 of the License only.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*
|
|
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
|
* $/LicenseInfo$
|
|
*/
|
|
|
|
#ifndef LL_AGENTBENEFITS_H
|
|
#define LL_AGENTBENEFITS_H
|
|
|
|
#include "llsingleton.h"
|
|
#include "llsd.h"
|
|
#include "llassettype.h"
|
|
|
|
class LLAgentBenefits
|
|
{
|
|
public:
|
|
LLAgentBenefits();
|
|
~LLAgentBenefits();
|
|
LOG_CLASS(LLAgentBenefits);
|
|
|
|
bool init(const LLSD& benefits_sd);
|
|
void initNonSL(const LLSD& benefits_sd);
|
|
void processEconomyData(LLMessageSystem*);
|
|
|
|
S32 getAnimatedObjectLimit() const;
|
|
S32 getAnimationUploadCost() const;
|
|
S32 getAttachmentLimit() const;
|
|
S32 getCreateGroupCost() const;
|
|
S32 getGroupMembershipLimit() const;
|
|
S32 getPicksLimit() const;
|
|
S32 getSoundUploadCost() const;
|
|
S32 getTextureUploadCost() const;
|
|
|
|
bool findUploadCost(LLAssetType::EType& asset_type, S32& cost) const;
|
|
|
|
private:
|
|
S32 m_animated_object_limit;
|
|
S32 m_animation_upload_cost;
|
|
S32 m_attachment_limit;
|
|
S32 m_create_group_cost;
|
|
S32 m_group_membership_limit;
|
|
S32 m_picks_limit;
|
|
S32 m_sound_upload_cost;
|
|
S32 m_texture_upload_cost;
|
|
|
|
bool m_initalized;
|
|
};
|
|
|
|
class LLAgentBenefitsMgr : public LLSingleton<LLAgentBenefitsMgr>
|
|
{
|
|
friend class LLSingleton<LLAgentBenefitsMgr>;
|
|
LLAgentBenefitsMgr();
|
|
~LLAgentBenefitsMgr();
|
|
LOG_CLASS(LLAgentBenefitsMgr);
|
|
|
|
public:
|
|
static LLAgentBenefits& current();
|
|
static const LLAgentBenefits& get(const std::string& package);
|
|
static bool init(const std::string& package, const LLSD& benefits_sd);
|
|
static bool initCurrent(const std::string& package, const LLSD& benefits_sd);
|
|
void initNonSL(const LLSD& benefits_sd);
|
|
static bool has(const std::string& package);
|
|
static bool isCurrent(const std::string& package);
|
|
|
|
private:
|
|
std::string mCurrentName;
|
|
LLAgentBenefits mCurrent;
|
|
LLAgentBenefits mDefault;
|
|
std::map<std::string, LLAgentBenefits> mPackageMap;
|
|
};
|
|
|
|
|
|
#endif
|