class JGEngine

A Jingle engine. More...

Full nameTelEngine::JGEngine
Definition#include <libs/yjabber/yatejingle.h>
InheritsTelEngine::DebugEnabler [public ], TelEngine::Mutex [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods


Detailed Description

This class holds a Jingle service for the Jabber engine. Handle jingle stanzas, stanza write fail events and stream termination events

 JGEngine (const char* name = "jgengine")

JGEngine

Constructor

Parameters:
nameDebug name

 ~JGEngine ()

~JGEngine

[virtual]

Destructor. Terminates all active sessions

inline u_int64_t  stanzaTimeout ()

stanzaTimeout

[const]

Get the timeout interval of a sent stanza

Returns: The timeout interval of a sent stanza

inline u_int64_t  pingInterval ()

pingInterval

[const]

Get the ping interval used by jingle sessions

Returns: The interval to ping the remote party of a jingle session

void  initialize (const NamedList& params)

initialize

[virtual]

Initialize this service

Parameters:
paramsService's parameters

bool  sendStanza (JGSession* session, XmlElement*& stanza)

sendStanza

[virtual]

Send a session's stanza. This method should be re-implemented

Parameters:
sessionThe session requesting the operation
stanzaThe stanza to send. Will be consumed and zeroed

Returns: True on success

bool  sendMessage (JGSession* session, const char* body)

sendMessage

[virtual]

Send a chat message on behalf of a session

Parameters:
sessionThe session requesting the operation
bodyMessage body

Returns: True on success

JGEvent*  getEvent (u_int64_t time)

getEvent

Call getEvent() for each session list until an event is generated or the end is reached This method is thread safe

Parameters:
timeCurrent time in miliseconds

Returns: The first generated event

JGSession*  call (JGSession::Version ver, const JabberID& caller, const JabberID& called, const ObjList& contents, XmlElement* extra = 0, const char* msg = 0, const char* subject = 0, const char* line = 0)

call

Make an outgoing call. 'media' and 'transport' will be invalid on exit. Don't delete them

Parameters:
verThe session version to use
callerThe caller
calledThe called
contentsThe list of session content(s)
extraOptional extra child for session initiate element
msgOptional message to send before call
subjectOptional session subject
lineOptional session account

Returns: Valid JGSession pointer (referenced) on success

bool  acceptIq (XMPPUtils::IqType type, const JabberID& from, const JabberID& to, const String& id, XmlElement* xml, const char* line, XMPPError::Type& error, String& text)

acceptIq

Ask this engine to accept an incoming xml 'iq' element

Parameters:
typeIq type as enumeration
fromThe sender
toThe recipient
idElement id attribute
xmlThe received element
lineAccount receiving the stanza (may be empty)
errorXMPPError result. This value should be check if false is returned. Any value different from NoError indicate an invalid element
textError text

Returns: True if accepted (don't use the given pointer if accepted)

void  defProcessEvent (JGEvent* event)

defProcessEvent

Default event processor. Delete event.

Parameters:
eventThe event to process

void  processEvent (JGEvent* event)

processEvent

[virtual]

Process events from the sessions. Default action: Delete event. Descendants must override this method to process generated events

Parameters:
eventThe event to process


Generated by: paulc on bussard on Fri Apr 1 18:17:10 2011, using kdoc 2.0a54.