#include <lluserrelations.h>
Public Member Functions | |
LLRelationship () | |
Constructors. | |
Status functionality | |
bool | isOnline () const |
Does this instance believe the related agent is currently online or available. | |
void | online (bool is_online) |
Set the online status. | |
| |
enum | |
Anonymous enumeration for specifying rights. | |
static const U8 | GRANTED_VISIBLE_MASK = LLRelationship::GRANT_MODIFY_OBJECTS | LLRelationship::GRANT_MAP_LOCATION |
S32 | getChangeSerialNum () const |
Get the change count for this agent. | |
S32 | getRightsGrantedFrom () const |
Get the rights granted from the other agent. | |
S32 | getRightsGrantedTo () const |
Get the rights granted to the other agent. | |
void | grantRights (S32 to_agent, S32 from_agent) |
Grant a set of rights. | |
bool | isRightGrantedFrom (S32 rights) const |
Check for a set of rights granted from an agent. | |
bool | isRightGrantedTo (S32 rights) const |
Check for a set of rights granted to agent. | |
void | revokeRights (S32 to_agent, S32 from_agent) |
Revoke a set of rights. |
This class represents a relationship between two agents, where the related agent is stored and the other agent is the relationship is implicit by container ownership. This is merely a cache of this information used by the sim and viewer.
You are expected to use this in a map or similar structure, eg: typedef std::map<LLUUID, LLRelationship> agent_relationship_map;
S32 LLRelationship::getChangeSerialNum | ( | ) | const [inline] |
Get the change count for this agent.
Every change to rights will increment the serial number allowing listeners to determine when a relationship value is actually new
S32 LLRelationship::getRightsGrantedFrom | ( | ) | const |
Get the rights granted from the other agent.
S32 LLRelationship::getRightsGrantedTo | ( | ) | const |
Get the rights granted to the other agent.
void LLRelationship::grantRights | ( | S32 | to_agent, | |
S32 | from_agent | |||
) |
Grant a set of rights.
Any bit which is set will grant that right if it is set in the instance. You can pass in LLGrantedRights::NONE to not change that field.
to_agent | The rights to grant to agent_id. | |
from_agent | The rights granted from agent_id. |
bool LLRelationship::isOnline | ( | ) | const |
Does this instance believe the related agent is currently online or available.
NOTE: This API may be deprecated if there is any transient status other than online status, for example, away/busy/etc.
This call does not check any kind of central store or make any deep information calls - it simply checks a cache of online status.
bool LLRelationship::isRightGrantedFrom | ( | S32 | rights | ) | const |
Check for a set of rights granted from an agent.
rights | A bitfield to check for rights. |
bool LLRelationship::isRightGrantedTo | ( | S32 | rights | ) | const |
Check for a set of rights granted to agent.
rights | A bitfield to check for rights. |
void LLRelationship::online | ( | bool | is_online | ) |
Set the online status.
NOTE: This API may be deprecated if there is any transient status other than online status.
is_online | Se the online status |
void LLRelationship::revokeRights | ( | S32 | to_agent, | |
S32 | from_agent | |||
) |
Revoke a set of rights.
Any bit which is set will revoke that right if it is set in the instance. You can pass in LLGrantedRights::NONE to not change that field.
to_agent | The rights to grant to agent_id. | |
from_agent | The rights granted from agent_id. |
const U8 LLRelationship::GRANTED_VISIBLE_MASK = LLRelationship::GRANT_MODIFY_OBJECTS | LLRelationship::GRANT_MAP_LOCATION [static] |
???