VMuktiAPI

3.1 VMuktiAPI:

VMuktiAPI is the core namespace which is used to create any user defined widgets for integrating it with Core VMukti Conferencing Engine. This library consits of various classes which helps other users to upload their modules and make it compactible with VMukti Platform.


Figure 10

There are some classes  and Namespaces  under VMuktiAPI . They are as follows:

Namespaces:

1) There is a namespace in the VMuktiAPI called VMuktiAPI.DomainBinders Which contains the methods for binding.
VMuktiAPI.DomainBinders  have a class named DomainBinder which inherits Binder class. The class have   following overrided methods.
a)BindToMethod
b)ChangeType

2) VMuktiAPI.Logging is a namespace under the VMuktiAPI , which include the class DebugTraceListener, having methods for tracing and logging application level data.
DebugTraceListener  inherites CustomTraceListener and have the following overrided methods.
a)TraceData    :    To format and write the line.
b)Write           :    To write the line .
c)WriteLine    :    To write line and end the line.

Classes:
1) There is a sealed class named ClsConstants in the VMuktiAPI  which contains a listing of static constants used throughout the application.
a  NullDateTime : The value used to represent a null DateTime value.
b  NullInt            : The value used to represent a null int value
c  NullLong         : The value used to represent a null long value.
d  NullString       : The value used to represent a null string value.

2) There is static class called  ClsException under the VMuktiAPI,  which includes the different static methods which raise on exceptions.

Method Name

Description

Log Error

Create a new thread and sets priority for Error Log

Punch Error

Creates an object of Exception and calls another methods.

WriteToDatabase

Call the mathods to write into Error log file and EventLog file , if any database Exception is found.

WriteToErrorLogFile

Writes the Error Title ,Message , StackTrace and date and time to Error Log .

WriteToEventLog

Writes the Error Message , StackTrace and Log Entry type Event Log File.

WriteToLogFile

. Writes the Error Message , StackTrace and Log Entry type Error Log File.

3) There is also an important static class called  ClsGetIP4Address  which have a static method to find the IPv4 address.

Method Name

Description

GetIP4Address

Gets the host’s IPv4 Addresses .

Another most important and most frequently used static class is VMuktiHelper, which includes static methods for registering event and also for firing registered Events. It also includes the method for starting the server and stopping it and also have some static Fields.

Method Name

Description

VMEvents

This is list of VMuktiEvents type

VMuktiServers

This is list of NetPeerServer type.

Static methods are as follows.

Method Name

Description

CallEvent

To call the registered events by eventName. with other arguments of object and VMuktiEventArgs type.

RegisterEvent

To register event with eventName.

UnRegisterEvent

To unRegister event with eventName.

1)  ClsLogging is a static class, which have a static method for writing into the trace log.

Method Name

Description

WriteToTresslog

To send information of any event to Monitoring System.

2)    ClsPeer is a class which have different peer fields , Properties and method . There are some private fields and all have the public property to get and set value.
Private field    Public property.

Private Field

Public Property

_ID User

ID

_DisplayName

Loged In user’s Display name

_FName

Loged In user’s First name

_LName

Loged In user’s Last name

_Emai

loged In user’s Email Id

_PassWord

Loged In user’s PassWord

_MeshID

Mesh ID

_Status

User status

_CurrPeerType

_CurrPeerType

_CurrAuthType

Authentication type

_Port4000Status

Port 4000 Status

_Port5060Status

Port 5060 Status

_Port1433Status

Port 1433 Status

_AuthServerIP

Authentication server Ip

_SuperNodeIP

Super Node Ip

_NodeIPs

Current node Ip

_CampaignID

Campaign ID

_GroupID

GroupID

_ActivityID

ActivityID

_CampaignName

CampaignName

_RoleName

Role Name

_StartTime

Session Start Time

_EndTime

Session End Time

There is a public method in the class.

Method

Description

GetPeerDataContract

To get all the information of the current peer for data contract.

3)    ClsPeerDataContract have the different peer field and properties and Enumerators.
a. It has same Fields and Properties as in the ClsPeer.

4)    ConfData have  different methods to retrieve, add, update and delete values as per keys provided.

Method

Description

Init

To init the keys

GetKeyValue

To get the key value

AddKey

To add the key value

UpdateKey

To update the key value

DeleteKey

To delete the key value

KeyExists

To check that key Exists or not

5)  VMuktiInfo is a static class under the VMUktiAPI which have static private variables and public properties.

Private fields

Public property

_strMainConnectionString

Main connection string

_strSchemaNumber

Schema Number

_strSyncConnectionString

Sync Connection string

_strBootStrapIPs

List of boostrap Ips

_IsFileExists

bool to show file exists or not

_IsSoftPhone

bool to show Soft Phone or not

_objClsPeer

ClsPeer object having current peer information

_BootStrapDomain

BootStrap Domain

_SuperNodeDomain

SuperNode Domain

strFTPServerIP

FTP server IP

_strFTPPort

FTP Port

_strFTPUserName

FTP User Name

_strFTPPassword

FTP Password

_strFTPDirPath

FTP Directory Path

_strZipFileDownlaodLink

Zip File Download Link