- internal : reviewed @getoutfit[:<type>]=<channel> and @getattach[:<attachpt>]=<channel>

--HG--
branch : RLVa
meow-7.2.2
Kitty Barnett 2011-05-28 16:18:48 +02:00
parent 381767eea3
commit bf5fba7264
2 changed files with 24 additions and 23 deletions

View File

@ -1975,7 +1975,7 @@ ERlvCmdRet RlvHandler::onFindFolder(const RlvCommand& rlvCmd, std::string& strRe
return RLV_RET_SUCCESS;
}
// Checked: 2010-03-19 (RLVa-1.2.0c) | Modified: RLVa-1.1.0e
// Checked: 2010-03-19 (RLVa-1.4.0a) | Modified: RLVa-1.1.0e
ERlvCmdRet RlvHandler::onGetAttach(const RlvCommand& rlvCmd, std::string& strReply) const
{
RLV_ASSERT(RLV_TYPE_REPLY == rlvCmd.getParamType());
@ -1985,8 +1985,8 @@ ERlvCmdRet RlvHandler::onGetAttach(const RlvCommand& rlvCmd, std::string& strRep
return RLV_RET_FAILED;
// Sanity check - <option> should specify an attachment point or be empty
S32 idxAttachPt = RlvAttachPtLookup::getAttachPointIndex(rlvCmd.getOption());
if ( (idxAttachPt == 0) && (!rlvCmd.getOption().empty()) )
S32 idxAttachPt = 0;
if ( (rlvCmd.hasOption()) && ((idxAttachPt = RlvAttachPtLookup::getAttachPointIndex(rlvCmd.getOption())) == 0) )
return RLV_RET_FAILED_OPTION;
// If we're fetching all worn attachments then the reply should start with 0
@ -2165,15 +2165,15 @@ ERlvCmdRet RlvHandler::onGetInvWorn(const RlvCommand& rlvCmd, std::string& strRe
return RLV_RET_SUCCESS;
}
// Checked: 2010-03-19 (RLVa-1.2.0c) | Modified: RLVa-1.2.0a
// Checked: 2010-03-19 (RLVa-1.4.0a) | Modified: RLVa-1.2.0a
ERlvCmdRet RlvHandler::onGetOutfit(const RlvCommand& rlvCmd, std::string& strReply) const
{
RLV_ASSERT(RLV_TYPE_REPLY == rlvCmd.getParamType());
RLV_ASSERT(RLV_BHVR_GETOUTFIT == rlvCmd.getBehaviourType());
// (Compatibility: RLV-1.16.1 will execute @getoutfit=<channel> if <layer> is invalid while we just return failure)
LLWearableType::EType wtType = LLWearableType::typeNameToType(rlvCmd.getOption());
if ( (LLWearableType::WT_INVALID == wtType) && (!rlvCmd.getOption().empty()) )
LLWearableType::EType wtType = LLWearableType::WT_INVALID;
if ( (rlvCmd.hasOption()) && ((wtType = LLWearableType::typeNameToType(rlvCmd.getOption())) == LLWearableType::WT_INVALID) )
return RLV_RET_FAILED_OPTION;
const LLWearableType::EType wtRlvTypes[] =

View File

@ -39,15 +39,16 @@ public:
* Member functions
*/
public:
std::string asString() const;
const std::string& getBehaviour() const { return m_strBehaviour; }
ERlvBehaviour getBehaviourType() const { return m_eBehaviour; }
const LLUUID& getObjectID() const { return m_idObj; }
const std::string& getOption() const { return m_strOption; }
const std::string& getParam() const { return m_strParam; }
ERlvParamType getParamType() const { return m_eParamType; }
bool isStrict() const { return m_fStrict; }
bool isValid() const { return m_fValid; }
std::string asString() const;
const std::string& getBehaviour() const { return m_strBehaviour; }
ERlvBehaviour getBehaviourType() const { return m_eBehaviour; }
const LLUUID& getObjectID() const { return m_idObj; }
const std::string& getOption() const { return m_strOption; }
const std::string& getParam() const { return m_strParam; }
ERlvParamType getParamType() const { return m_eParamType; }
bool hasOption() const { return !m_strOption.empty(); }
bool isStrict() const { return m_fStrict; }
bool isValid() const { return m_fValid; }
typedef std::map<std::string, ERlvBehaviour> bhvr_map_t;
static ERlvBehaviour getBehaviourFromString(const std::string& strBhvr, bool* pfStrict = NULL);
@ -69,14 +70,14 @@ public:
* Member variables
*/
protected:
bool m_fValid;
LLUUID m_idObj;
std::string m_strBehaviour;
ERlvBehaviour m_eBehaviour;
bool m_fStrict;
std::string m_strOption;
std::string m_strParam;
ERlvParamType m_eParamType;
bool m_fValid;
LLUUID m_idObj;
std::string m_strBehaviour;
ERlvBehaviour m_eBehaviour;
bool m_fStrict;
std::string m_strOption;
std::string m_strParam;
ERlvParamType m_eParamType;
static bhvr_map_t m_BhvrMap;