C# Class OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice.VivoxVoiceModule

Inheritance: ISharedRegionModule
ファイルを表示 Open project: openmetaversefoundation/fortis-opensim

Public Properties

Property Type Description
CHAN_MODE_AUDITORIUM string
CHAN_MODE_DEFAULT string
CHAN_MODE_LECTURE string
CHAN_MODE_OPEN string
CHAN_MODE_PRESENTATION string
CHAN_TYPE_CHANNEL string
CHAN_TYPE_DEFAULT string
CHAN_TYPE_POSITIONAL string

Public Methods

Method Description
AddRegion ( Scene scene ) : void
ChatSessionRequest ( Scene scene, string request, string path, string param, UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : string

Callback for a client request for a private chat channel

Close ( ) : void
Initialise ( IConfigSource config ) : void
OnRegisterCaps ( Scene scene, UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : void

OnRegisterCaps is invoked via the scene.EventManager everytime OpenSim hands out capabilities to a client (login, region crossing). We contribute two capabilities to the set of capabilities handed back to the client: ProvisionVoiceAccountRequest and ParcelVoiceInfoRequest. ProvisionVoiceAccountRequest allows the client to obtain the voice account credentials for the avatar it is controlling (e.g., user name, password, etc). ParcelVoiceInfoRequest is invoked whenever the client changes from one region or parcel to another. Note that OnRegisterCaps is called here via a closure delegate containing the scene of the respective region (see Initialise()).

ParcelVoiceInfoRequest ( Scene scene, string request, string path, string param, UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : string

Callback for a client request for ParcelVoiceInfo

PostInitialise ( ) : void
ProvisionVoiceAccountRequest ( Scene scene, string request, string path, string param, UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : string

Callback for a client request for Voice Account Details

RegionLoaded ( Scene scene ) : void
RemoveRegion ( Scene scene ) : void

Private Methods

Method Description
DoAdminLogin ( ) : bool

Login has been factored in this way because it gets called from several places in the module, and we want it to work the same way each time.

IsOK ( XmlElement resp ) : bool

Just say if it worked.

RegionGetOrCreateChannel ( Scene scene, LandData land ) : string
VivoxCall ( string requrl, bool admin ) : XmlElement

This method handles the WEB side of making a request over the Vivox interface. The returned values are tansferred to a has table which is returned as the result. The outcome of the call can be determined by examining the status value in the hash table.

VivoxCreateAccount ( string user, string password ) : XmlElement

Creates a new account. For now we supply the minimum set of values, which is user name and password. We *can* supply a lot more demographic data.

VivoxDeleteChannel ( string parent, string channelid ) : XmlElement
VivoxGetAccountInfo ( string user ) : XmlElement

Retrieve account information for the specified user. Returns a hash table containing values returned from the request.

VivoxListChildren ( string channelid ) : XmlElement
VivoxLogin ( string name, string password ) : XmlElement

Perform administrative login for Vivox. Returns a hash table containing values returned from the request.

VivoxLogout ( ) : XmlElement

Perform administrative logout for Vivox.

VivoxPassword ( string user, string password ) : XmlElement

Change the user's password.

VivoxTryCreateChannel ( string parent, string channelId, string description, string &channelUri ) : bool

Create a channel. Once again, there a multitude of options possible. In the simplest case we specify only the name and get a non-persistent cannel in return. Non persistent means that the channel gets deleted if no-one uses it for 5 hours. To accomodate future requirements, it may be a good idea to initially create channels under the umbrella of a parent ID based upon the region name. That way we have a context for side channels, if those are required in a later phase. In this case the call handles parent and description as optional values.

VivoxTryCreateDirectory ( string dirId, string description, string &channelId ) : bool

Create a directory. Create a channel with an unconditional type of "dir" (indicating directory). This is used to create an arbitrary name tree for partitioning of the channel name space. The parent and description are optional values.

VivoxTryGetChannel ( string channelParent, string channelName, string &channelId, string &channelUri ) : bool

Retrieve a channel. Once again, there a multitude of options possible. In the simplest case we specify only the name and get a non-persistent cannel in return. Non persistent means that the channel gets deleted if no-one uses it for 5 hours. To accomodate future requirements, it may be a good idea to initially create channels under the umbrella of a parent ID based upon the region name. That way we have a context for side channels, if those are required in a later phase. In this case the call handles parent and description as optional values.

VivoxTryGetDirectory ( string directoryName, string &directoryId ) : bool
XmlFind ( XmlElement root, string tag, int nth, string &result ) : bool

The Find method is passed an element whose inner text is scanned in an attempt to match the name hierarchy passed in the 'tag' parameter. If the whole hierarchy is resolved, the InnerText value at that point is returned. Note that this may itself be a subhierarchy of the entire document. The function returns a boolean indicator of the search's success. The search is performed by the recursive Search method.

XmlFind ( XmlElement root, string tag, string &result ) : bool
XmlScanl ( XmlElement e, int index ) : void

The XmlScan routine is provided to aid in the reverse engineering of incompletely documented packets returned by the Vivox voice server. It is only called if the m_dumpXml switch is set.

XmlSearch ( XmlElement e, string tags, int index, int &nth, string &result ) : bool

XmlSearch is initially called by XmlFind, and then recursively called by itself until the document supplied to XmlFind is either exhausted or the name hierarchy is matched. If the hierarchy is matched, the value is returned in result, and true returned as the function's value. Otherwise the result is set to the empty string and false is returned.

Method Details

AddRegion() public method

public AddRegion ( Scene scene ) : void
scene OpenSim.Region.Framework.Scenes.Scene
return void

ChatSessionRequest() public method

Callback for a client request for a private chat channel
public ChatSessionRequest ( Scene scene, string request, string path, string param, UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : string
scene OpenSim.Region.Framework.Scenes.Scene current scene object of the client
request string
path string
param string
agentID UUID
caps OpenSim.Framework.Capabilities.Caps
return string

Close() public method

public Close ( ) : void
return void

Initialise() public method

public Initialise ( IConfigSource config ) : void
config IConfigSource
return void

OnRegisterCaps() public method

OnRegisterCaps is invoked via the scene.EventManager everytime OpenSim hands out capabilities to a client (login, region crossing). We contribute two capabilities to the set of capabilities handed back to the client: ProvisionVoiceAccountRequest and ParcelVoiceInfoRequest. ProvisionVoiceAccountRequest allows the client to obtain the voice account credentials for the avatar it is controlling (e.g., user name, password, etc). ParcelVoiceInfoRequest is invoked whenever the client changes from one region or parcel to another. Note that OnRegisterCaps is called here via a closure delegate containing the scene of the respective region (see Initialise()).
public OnRegisterCaps ( Scene scene, UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : void
scene OpenSim.Region.Framework.Scenes.Scene
agentID UUID
caps OpenSim.Framework.Capabilities.Caps
return void

ParcelVoiceInfoRequest() public method

Callback for a client request for ParcelVoiceInfo
public ParcelVoiceInfoRequest ( Scene scene, string request, string path, string param, UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : string
scene OpenSim.Region.Framework.Scenes.Scene current scene object of the client
request string
path string
param string
agentID UUID
caps OpenSim.Framework.Capabilities.Caps
return string

PostInitialise() public method

public PostInitialise ( ) : void
return void

ProvisionVoiceAccountRequest() public method

Callback for a client request for Voice Account Details
public ProvisionVoiceAccountRequest ( Scene scene, string request, string path, string param, UUID agentID, OpenSim.Framework.Capabilities.Caps caps ) : string
scene OpenSim.Region.Framework.Scenes.Scene current scene object of the client
request string
path string
param string
agentID UUID
caps OpenSim.Framework.Capabilities.Caps
return string

RegionLoaded() public method

public RegionLoaded ( Scene scene ) : void
scene OpenSim.Region.Framework.Scenes.Scene
return void

RemoveRegion() public method

public RemoveRegion ( Scene scene ) : void
scene OpenSim.Region.Framework.Scenes.Scene
return void

Property Details

CHAN_MODE_AUDITORIUM public_oe static_oe property

public static string CHAN_MODE_AUDITORIUM
return string

CHAN_MODE_DEFAULT public_oe static_oe property

public static string CHAN_MODE_DEFAULT
return string

CHAN_MODE_LECTURE public_oe static_oe property

public static string CHAN_MODE_LECTURE
return string

CHAN_MODE_OPEN public_oe static_oe property

public static string CHAN_MODE_OPEN
return string

CHAN_MODE_PRESENTATION public_oe static_oe property

public static string CHAN_MODE_PRESENTATION
return string

CHAN_TYPE_CHANNEL public_oe static_oe property

public static string CHAN_TYPE_CHANNEL
return string

CHAN_TYPE_DEFAULT public_oe static_oe property

public static string CHAN_TYPE_DEFAULT
return string

CHAN_TYPE_POSITIONAL public_oe static_oe property

public static string CHAN_TYPE_POSITIONAL
return string