OpenSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Events | List of all members
OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule Class Reference
Inheritance diagram for OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule:
Inheritance graph
[legend]
Collaboration diagram for OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule:
Collaboration graph
[legend]

Public Member Functions

virtual 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...
 
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 PostInitialise ()
 This is called exactly once after all the shared region-modules have been instanciated and IRegionModuleBase.Initialised. 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...
 
virtual 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 void Close ()
 This is the inverse to Initialise. After a Close(), this instance won't be usable anymore. More...
 
virtual void SendInstantMessage (GridInstantMessage im, MessageResultNotification result)
 Attempt to send an instant message to a given destination. More...
 
virtual void HandleUndeliverableMessage (GridInstantMessage im, MessageResultNotification result)
 Appropriately handle a known undeliverable message without attempting a send. More...
 

Protected Member Functions

virtual XmlRpcResponse processXMLRPCGridInstantMessage (XmlRpcRequest request, IPEndPoint remoteClient)
 Process a XMLRPC Grid Instant Message More...
 
virtual bool doIMSending (GridRegion reginfo, Hashtable xmlrpcdata)
 This actually does the XMLRPC Request More...
 
virtual Hashtable ConvertGridInstantMessageToXMLRPC (GridInstantMessage msg)
 Get ulong region handle for region by it's Region UUID. We use region handles over grid comms because there's all sorts of free and cool caching. More...
 

Protected Attributes

string m_MessageKey = String.Empty
 
List< Scenem_Scenes = new List<Scene>()
 
Dictionary< UUID, UUID > m_UserRegionMap = new Dictionary<UUID, UUID>()
 

Properties

IPresenceService PresenceService [get]
 
virtual string Name [get]
 
virtual 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...
 

Events

UndeliveredMessage OnUndeliveredMessage
 
- Events inherited from OpenSim.Region.Framework.Interfaces.IMessageTransferModule
UndeliveredMessage OnUndeliveredMessage
 

Detailed Description

Definition at line 48 of file MessageTransferModule.cs.

Member Function Documentation

virtual void OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.AddRegion ( Scene  scene)
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.

Parameters
sceneA Scene

Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.

Definition at line 87 of file MessageTransferModule.cs.

virtual void OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.Close ( )
inlinevirtual

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 124 of file MessageTransferModule.cs.

virtual Hashtable OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.ConvertGridInstantMessageToXMLRPC ( GridInstantMessage  msg)
inlineprotectedvirtual

Get ulong region handle for region by it's Region UUID. We use region handles over grid comms because there's all sorts of free and cool caching.

Parameters
regionIDUUID of region to get the region handle for
Returns

Takes a GridInstantMessage and converts it into a Hashtable for XMLRPC

Parameters
msgThe GridInstantMessage object
Returns
Hashtable containing the XMLRPC request

Definition at line 707 of file MessageTransferModule.cs.

virtual bool OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.doIMSending ( GridRegion  reginfo,
Hashtable  xmlrpcdata 
)
inlineprotectedvirtual

This actually does the XMLRPC Request

Parameters
reginfoRegionInfo we pull the data out of to send the request to
xmlrpcdataThe Instant Message data Hashtable
Returns
Bool if the message was successfully delivered at the other side.

Definition at line 642 of file MessageTransferModule.cs.

virtual void OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.HandleUndeliverableMessage ( GridInstantMessage  im,
MessageResultNotification  result 
)
inlinevirtual

Appropriately handle a known undeliverable message without attempting a send.

Essentially, this invokes the OnUndeliveredMessage event.

Parameters
im
result

Implements OpenSim.Region.Framework.Interfaces.IMessageTransferModule.

Definition at line 191 of file MessageTransferModule.cs.

Here is the call graph for this function:

virtual void OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.Initialise ( IConfigSource  source)
inlinevirtual

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.

Parameters
sourceA IConfigSource

Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.

Definition at line 70 of file MessageTransferModule.cs.

virtual void OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.PostInitialise ( )
inlinevirtual

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 100 of file MessageTransferModule.cs.

virtual XmlRpcResponse OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.processXMLRPCGridInstantMessage ( XmlRpcRequest  request,
IPEndPoint  remoteClient 
)
inlineprotectedvirtual

Process a XMLRPC Grid Instant Message

Parameters
requestXMLRPC parameters
Returns
Nothing much

Definition at line 218 of file MessageTransferModule.cs.

virtual void OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.RegionLoaded ( Scene  scene)
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.

Parameters
sceneA Scene

Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.

Definition at line 109 of file MessageTransferModule.cs.

virtual void OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.RemoveRegion ( Scene  scene)
inlinevirtual

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.

Parameters
sceneA Scene

Implements OpenSim.Region.Framework.Interfaces.IRegionModuleBase.

Definition at line 113 of file MessageTransferModule.cs.

virtual void OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.SendInstantMessage ( GridInstantMessage  im,
MessageResultNotification  result 
)
inlinevirtual

Attempt to send an instant message to a given destination.

If the message cannot be delivered for any reason, this will be signalled on the OnUndeliveredMessage event. result(false) will also be called if the message cannot be delievered unless the type is InstantMessageDialog.MessageFromAgent. For successful message delivery, result(true) is called.

Parameters
im
result

Implements OpenSim.Region.Framework.Interfaces.IMessageTransferModule.

Definition at line 138 of file MessageTransferModule.cs.

Member Data Documentation

string OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.m_MessageKey = String.Empty
protected

Definition at line 53 of file MessageTransferModule.cs.

List<Scene> OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.m_Scenes = new List<Scene>()
protected

Definition at line 54 of file MessageTransferModule.cs.

Dictionary<UUID, UUID> OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.m_UserRegionMap = new Dictionary<UUID, UUID>()
protected

Definition at line 55 of file MessageTransferModule.cs.

Property Documentation

virtual string OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.Name
get

Definition at line 129 of file MessageTransferModule.cs.

IPresenceService OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.PresenceService
getprotected

Definition at line 61 of file MessageTransferModule.cs.

virtual Type OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.ReplaceableInterface
get

Definition at line 134 of file MessageTransferModule.cs.

Event Documentation

UndeliveredMessage OpenSim.Region.CoreModules.Avatar.InstantMessage.MessageTransferModule.OnUndeliveredMessage

Definition at line 57 of file MessageTransferModule.cs.


The documentation for this class was generated from the following file: