OpenSim
|
Classes | |
class | UserFriendData |
Public Member Functions | |
void | Initialise (IConfigSource config) |
This is called to initialize the region module. For shared modules, this is called exactly once, after creating the single (shared) instance. For non-shared modules, this is called once on each instance, after the instace for the region has been created. More... | |
void | PostInitialise () |
This is called exactly once after all the shared region-modules have been instanciated and IRegionModuleBase.Initialised. More... | |
void | Close () |
This is the inverse to Initialise. After a Close(), this instance won't be usable anymore. More... | |
virtual void | AddRegion (Scene scene) |
This is called whenever a Scene is added. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, after Initialise has been called. More... | |
virtual void | RegionLoaded (Scene scene) |
This will be called once for every scene loaded. In a shared module this will be multiple times in one instance, while a nonshared module instance will only be called once. This method is called after AddRegion has been called in all modules for that scene, providing an opportunity to request another module's interface, or hook an event from another module. More... | |
void | RemoveRegion (Scene scene) |
This is called whenever a Scene is removed. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, if the scene this instance is associated with is removed. More... | |
virtual int | GetRightsGrantedByFriend (UUID principalID, UUID friendID) |
Get permissions granted by a friend. More... | |
virtual bool | SendFriendsOnlineIfNeeded (IClientAPI client) |
IClientAPI | LocateClientObject (UUID agentID) |
Find the client for a ID More... | |
void | AddFriendship (IClientAPI client, UUID friendID) |
Add a friendship between two users. More... | |
void | RemoveFriendship (IClientAPI client, UUID exfriendID) |
Remove a friendship between two users. More... | |
void | FindFriend (IClientAPI remoteClient, UUID HunterID, UUID PreyID) |
void | GrantRights (IClientAPI remoteClient, UUID friendID, int rights) |
Grant permissions for a friend. More... | |
virtual bool | LocalFriendshipOffered (UUID toID, GridInstantMessage im) |
bool | LocalFriendshipApproved (UUID userID, string userName, UUID friendID) |
bool | LocalFriendshipDenied (UUID userID, string userName, UUID friendID) |
bool | LocalFriendshipTerminated (UUID userID, UUID exfriendID) |
bool | LocalGrantRights (UUID userID, UUID friendID, int oldRights, int newRights) |
bool | LocalStatusNotification (UUID userID, UUID friendID, bool online) |
FriendInfo[] | GetFriendsFromCache (UUID userID) |
Get friends from local cache only More... | |
virtual FriendInfo[] | GetFriendsFromService (IClientAPI client) |
bool | AreFriendsCached (UUID userID) |
Are friends cached on this simulator for a particular user? More... | |
Protected Member Functions | |
virtual void | InitModule (IConfigSource config) |
virtual bool | CacheFriends (IClientAPI client) |
Cache the friends list or increment the refcount for the existing friends list. More... | |
virtual string | FriendshipMessage (string friendID) |
virtual bool | GetAgentInfo (UUID scopeID, string fid, out UUID agentID, out string first, out string last) |
virtual void | GetOnlineFriends (UUID userID, List< string > friendList, List< UUID > online) |
virtual void | StatusNotify (List< FriendInfo > friendList, UUID userID, bool online) |
virtual void | OnInstantMessage (IClientAPI client, GridInstantMessage im) |
virtual bool | ForwardFriendshipOffer (UUID agentID, UUID friendID, GridInstantMessage im) |
virtual string | GetFriendshipRequesterName (UUID agentID) |
virtual void | OnApproveFriendRequest (IClientAPI client, UUID friendID, List< UUID > callingCardFolders) |
virtual FriendInfo | GetFriend (FriendInfo[] friends, UUID friendID) |
void | UpdateLocalCache (UUID userID, UUID friendID, int rights) |
Update local cache only More... | |
void | RecacheFriends (IClientAPI client) |
virtual bool | StoreRights (UUID agentID, UUID friendID, int rights) |
virtual void | StoreBackwards (UUID friendID, UUID agentID) |
virtual void | StoreFriendships (UUID agentID, UUID friendID) |
virtual bool | DeleteFriendship (UUID agentID, UUID exfriendID) |
Protected Attributes | |
bool | m_Enabled = false |
List< Scene > | m_Scenes = new List<Scene>() |
IPresenceService | m_PresenceService = null |
IFriendsService | m_FriendsService = null |
FriendsSimConnector | m_FriendsSimConnector |
Dictionary< UUID, UserFriendData > | m_Friends = new Dictionary<UUID, UserFriendData>() |
Cache friends lists for users. More... | |
HashSet< UUID > | m_NeedsToNotifyStatus = new HashSet<UUID>() |
Maintain a record of clients that need to notify about their online status. This only needs to be done on login. Subsequent online/offline friend changes are sent by a different mechanism. More... | |
HashSet< UUID > | m_NeedsListOfOnlineFriends = new HashSet<UUID>() |
Maintain a record of viewers that need to be sent notifications for friends that are online. This only needs to be done on login. Subsequent online/offline friend changes are sent by a different mechanism. More... | |
Static Protected Attributes | |
static readonly FriendInfo[] | EMPTY_FRIENDS = new FriendInfo[0] |
Properties | |
IPresenceService | PresenceService [get] |
IFriendsService | FriendsService [get] |
IGridService | GridService [get] |
IUserAccountService | UserAccountService [get] |
IScene | Scene [get] |
virtual string | Name [get] |
Type | ReplaceableInterface [get] |
Properties inherited from OpenSim.Region.Framework.Interfaces.IRegionModuleBase | |
string | Name [get] |
Type | ReplaceableInterface [get] |
If this returns non-null, it is the type of an interface that this module intends to register. This will cause the loader to defer loading of this module until all other modules have been loaded. If no other module has registered the interface by then, this module will be activated, else it will remain inactive, letting the other module take over. This should return non-null ONLY in modules that are intended to be easily replaceable, e.g. stub implementations that the developer expects to be replaced by third party provided modules. More... | |
Definition at line 54 of file FriendsModule.cs.
|
inline |
Add a friendship between two users.
Ultimately, it would be more useful to take in a user account here rather than having to have a user present in the scene.
client | |
friendID |
Implements OpenSim.Region.Framework.Interfaces.IFriendsModule.
Definition at line 633 of file FriendsModule.cs.
|
inlinevirtual |
This is called whenever a Scene is added. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, after Initialise has been called.
scene | A Scene |
Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 208 of file FriendsModule.cs.
|
inline |
Are friends cached on this simulator for a particular user?
userID |
Implements OpenSim.Region.Framework.Interfaces.IFriendsModule.
Definition at line 1033 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Cache the friends list or increment the refcount for the existing friends list.
client |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 285 of file FriendsModule.cs.
|
inline |
This is the inverse to Initialise. After a Close(), this instance won't be usable anymore.
Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.
Definition at line 204 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 1056 of file FriendsModule.cs.
|
inline |
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 593 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 413 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 418 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 848 of file FriendsModule.cs.
|
inline |
Get friends from local cache only
userID |
Implements OpenSim.Region.Framework.Interfaces.IFriendsModule.
Definition at line 981 of file FriendsModule.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 1015 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 620 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 456 of file FriendsModule.cs.
|
inlinevirtual |
Get permissions granted by a friend.
userID | The user. |
friendID | The friend that granted. |
Implements OpenSim.Region.Framework.Interfaces.IFriendsModule.
Definition at line 246 of file FriendsModule.cs.
|
inline |
Grant permissions for a friend.
This includes giving them the ability to see when the user is online and permission to edit the user's objects. Granting lower permissions than the friend currently has will rescind the extra permissions.
remoteClient | The user granting the permissions. |
friendID | The friend. |
perms | These come from the FriendRights enum. |
Implements OpenSim.Region.Framework.Interfaces.IFriendsModule.
Definition at line 788 of file FriendsModule.cs.
|
inline |
This is called to initialize the region module. For shared modules, this is called exactly once, after creating the single (shared) instance. For non-shared modules, this is called once on each instance, after the instace for the region has been created.
source | A IConfigSource |
Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.
Definition at line 157 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 173 of file FriendsModule.cs.
|
inline |
Definition at line 873 of file FriendsModule.cs.
|
inline |
Definition at line 899 of file FriendsModule.cs.
|
inlinevirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 860 of file FriendsModule.cs.
|
inline |
Definition at line 915 of file FriendsModule.cs.
|
inline |
Definition at line 931 of file FriendsModule.cs.
|
inline |
Definition at line 959 of file FriendsModule.cs.
|
inline |
Find the client for a ID
Definition at line 473 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 626 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 562 of file FriendsModule.cs.
|
inline |
This is called exactly once after all the shared region-modules have been instanciated and IRegionModuleBase.Initialised.
Implements OpenSim.Region.Framework.Interfaces.ISharedRegionModule.
Definition at line 200 of file FriendsModule.cs.
|
inlineprotected |
Definition at line 1020 of file FriendsModule.cs.
|
inlinevirtual |
This will be called once for every scene loaded. In a shared module this will be multiple times in one instance, while a nonshared module instance will only be called once. This method is called after AddRegion has been called in all modules for that scene, providing an opportunity to request another module's interface, or hook an event from another module.
scene | A Scene |
Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 224 of file FriendsModule.cs.
|
inline |
Remove a friendship between two users.
Ultimately, it would be more useful to take in a user account here rather than having to have a user present in the scene.
client | |
exFriendID |
Implements OpenSim.Region.Framework.Interfaces.IFriendsModule.
Definition at line 700 of file FriendsModule.cs.
|
inline |
This is called whenever a Scene is removed. For shared modules, this can happen several times. For non-shared modules, this happens exactly once, if the scene this instance is associated with is removed.
scene | A Scene |
Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.
Definition at line 226 of file FriendsModule.cs.
|
inlinevirtual |
Implements OpenSim.Region.Framework.Interfaces.IFriendsModule.
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 362 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 519 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 1045 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 1050 of file FriendsModule.cs.
|
inlineprotectedvirtual |
Reimplemented in OpenSim.Region.CoreModules.Avatar.Friends.HGFriendsModule.
Definition at line 1039 of file FriendsModule.cs.
|
inlineprotected |
Update local cache only
userID | |
friendID | |
rights |
Definition at line 1000 of file FriendsModule.cs.
|
staticprotected |
Definition at line 78 of file FriendsModule.cs.
|
protected |
Definition at line 58 of file FriendsModule.cs.
|
protected |
Cache friends lists for users.
This is a complex and error-prone thing to do. At the moment, we assume that the efficiency gained in permissions checks outweighs the disadvantages of that complexity.
Definition at line 93 of file FriendsModule.cs.
|
protected |
Definition at line 83 of file FriendsModule.cs.
|
protected |
Definition at line 84 of file FriendsModule.cs.
|
protected |
Maintain a record of viewers that need to be sent notifications for friends that are online. This only needs to be done on login. Subsequent online/offline friend changes are sent by a different mechanism.
Definition at line 105 of file FriendsModule.cs.
|
protected |
Maintain a record of clients that need to notify about their online status. This only needs to be done on login. Subsequent online/offline friend changes are sent by a different mechanism.
Definition at line 99 of file FriendsModule.cs.
|
protected |
Definition at line 82 of file FriendsModule.cs.
|
protected |
Definition at line 80 of file FriendsModule.cs.
|
get |
Definition at line 122 of file FriendsModule.cs.
|
getprotected |
Definition at line 136 of file FriendsModule.cs.
|
get |
Definition at line 235 of file FriendsModule.cs.
|
getprotected |
Definition at line 108 of file FriendsModule.cs.
|
get |
Definition at line 240 of file FriendsModule.cs.
|
get |
Definition at line 146 of file FriendsModule.cs.
|
get |
Definition at line 141 of file FriendsModule.cs.