C# 클래스 OpenSim.Region.OptionalModules.Avatar.Voice.VivoxVoice.VivoxVoiceModule

상속: ISharedRegionModule
파일 보기 프로젝트 열기: openmetaversefoundation/fortis-opensim

공개 프로퍼티들

프로퍼티 타입 설명
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

공개 메소드들

메소드 설명
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

비공개 메소드들

메소드 설명
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.

메소드 상세

AddRegion() 공개 메소드

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

ChatSessionRequest() 공개 메소드

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
리턴 string

Close() 공개 메소드

public Close ( ) : void
리턴 void

Initialise() 공개 메소드

public Initialise ( IConfigSource config ) : void
config IConfigSource
리턴 void

OnRegisterCaps() 공개 메소드

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
리턴 void

ParcelVoiceInfoRequest() 공개 메소드

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
리턴 string

PostInitialise() 공개 메소드

public PostInitialise ( ) : void
리턴 void

ProvisionVoiceAccountRequest() 공개 메소드

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
리턴 string

RegionLoaded() 공개 메소드

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

RemoveRegion() 공개 메소드

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

프로퍼티 상세

CHAN_MODE_AUDITORIUM 공개적으로 정적으로 프로퍼티

public static string CHAN_MODE_AUDITORIUM
리턴 string

CHAN_MODE_DEFAULT 공개적으로 정적으로 프로퍼티

public static string CHAN_MODE_DEFAULT
리턴 string

CHAN_MODE_LECTURE 공개적으로 정적으로 프로퍼티

public static string CHAN_MODE_LECTURE
리턴 string

CHAN_MODE_OPEN 공개적으로 정적으로 프로퍼티

public static string CHAN_MODE_OPEN
리턴 string

CHAN_MODE_PRESENTATION 공개적으로 정적으로 프로퍼티

public static string CHAN_MODE_PRESENTATION
리턴 string

CHAN_TYPE_CHANNEL 공개적으로 정적으로 프로퍼티

public static string CHAN_TYPE_CHANNEL
리턴 string

CHAN_TYPE_DEFAULT 공개적으로 정적으로 프로퍼티

public static string CHAN_TYPE_DEFAULT
리턴 string

CHAN_TYPE_POSITIONAL 공개적으로 정적으로 프로퍼티

public static string CHAN_TYPE_POSITIONAL
리턴 string