Yate
Public Member Functions | Protected Member Functions | Friends
JGSession1 Class Reference

The version 1 of a jingle session. More...

#include <yatejingle.h>

Inheritance diagram for JGSession1:
JGSession RefObject Mutex GenObject Lockable

List of all members.

Public Member Functions

virtual ~JGSession1 ()
virtual bool accept (const ObjList &contents, String *stanzaId=0)
virtual XmlElementcreateRtpInfoXml (RtpInfo info)
virtual XmlElementcreateReason (int reason, const char *text=0, XmlElement *child=0)
virtual XmlElementcreateTransferReason (int reason)
virtual XmlElementcreateRtpSessionReason (int reason)
virtual bool sendContent (Action action, const ObjList &contents, String *stanzaId=0)
virtual bool sendStreamHosts (const ObjList &hosts, String *stanzaId=0)
virtual bool sendStreamHostUsed (const char *jid, const char *stanzaId)

Protected Member Functions

 JGSession1 (JGEngine *engine, const JabberID &caller, const JabberID &called)
 JGSession1 (JGEngine *engine, const JabberID &caller, const JabberID &called, XmlElement *xml, const String &id)
virtual bool initiate (const ObjList &contents, XmlElement *extra, const char *subject=0)
virtual JGEventdecodeJingle (XmlElement *&xml, XmlElement *child)
virtual XmlElementcreateJingle (Action action, XmlElement *element1=0, XmlElement *element2=0, XmlElement *element3=0)
virtual XmlElementcreateDtmf (const char *dtmf, unsigned int msDuration=0)
virtual JGEventprocessFileTransfer (bool set, XmlElement *&xml, XmlElement *child)

Friends

class JGEvent
class JGEngine

Detailed Description

The version 1 of a jingle session.

A session implementing the Jingle protocol including session transfer and file transfer


Constructor & Destructor Documentation

virtual ~JGSession1 ( ) [virtual]

Destructor

JGSession1 ( JGEngine engine,
const JabberID caller,
const JabberID called 
) [protected]

Constructor. Create an outgoing session

Parameters:
engineThe engine owning this session
callerThe caller's full JID
calledThe called party's full JID
JGSession1 ( JGEngine engine,
const JabberID caller,
const JabberID called,
XmlElement xml,
const String id 
) [protected]

Constructor. Create an incoming session.

Parameters:
engineThe engine owning this session
callerThe caller's full JID
calledThe called party's full JID
xmlA valid Jabber Jingle xml with action session initiate
idSession id

Member Function Documentation

virtual bool accept ( const ObjList contents,
String stanzaId = 0 
) [virtual]

Accept a Pending incoming session. This method is thread safe

Parameters:
contentsThe list of accepted contents
stanzaIdOptional string to be filled with sent stanza id (used to track the response)
Returns:
False if send failed

Reimplemented from JGSession.

virtual XmlElement* createDtmf ( const char *  dtmf,
unsigned int  msDuration = 0 
) [protected, virtual]

Create a dtmf XML element

Parameters:
dtmfThe dtmf string
msDurationThe tone duration in miliseconds. Ignored if 0
Returns:
Valid XmlElement pointer or 0

Implements JGSession.

virtual XmlElement* createJingle ( Action  action,
XmlElement element1 = 0,
XmlElement element2 = 0,
XmlElement element3 = 0 
) [protected, virtual]

Create an 'iq' of type 'set' with a 'jingle' child

Parameters:
actionThe action of the Jingle stanza
element1Optional child element
element2Optional child element
element3Optional child element
Returns:
Valid XmlElement pointer

Implements JGSession.

virtual XmlElement* createReason ( int  reason,
const char *  text = 0,
XmlElement child = 0 
) [virtual]

Create a termination reason element

Parameters:
reasonThe reason code
textOptional reason text child
childOptional additional reason child
Returns:
Valid XmlElement pointer or 0 if not supported

Reimplemented from JGSession.

virtual XmlElement* createRtpInfoXml ( RtpInfo  info) [virtual]

Create a RTP info child to be added to a session-info element

Parameters:
infoThe informational tag as enumeration
Returns:
Valid XmlElement pointer or 0 if not supported

Reimplemented from JGSession.

virtual XmlElement* createRtpSessionReason ( int  reason) [virtual]

Create a RTP session reason element

Parameters:
reasonThe reason code
Returns:
Valid XmlElement pointer or 0 if not supported

Reimplemented from JGSession.

virtual XmlElement* createTransferReason ( int  reason) [virtual]

Create a transfer reason element

Parameters:
reasonThe reason code
Returns:
Valid XmlElement pointer or 0 if not supported

Reimplemented from JGSession.

virtual JGEvent* decodeJingle ( XmlElement *&  xml,
XmlElement child 
) [protected, virtual]

Decode a jingle element

Parameters:
xmlThe element to decode
childThe element's first child
Returns:
JGEvent pointer or 0

Implements JGSession.

virtual bool initiate ( const ObjList contents,
XmlElement extra,
const char *  subject = 0 
) [protected, virtual]

Build and send the initial message on an outgoing session

Parameters:
contentsThe session contents to be sent with session initiate element
extraOptional extra child to be added to the session initiate element
subjectOptional session subject
Returns:
True on success

Implements JGSession.

virtual JGEvent* processFileTransfer ( bool  set,
XmlElement *&  xml,
XmlElement child 
) [protected, virtual]

Decode a file transfer element

Parameters:
setTrue if the xml is an iq 'set', false if type is 'get'
xmlThe element to decode
childThe element's first child
Returns:
JGEvent pointer or 0

Reimplemented from JGSession.

virtual bool sendContent ( Action  action,
const ObjList contents,
String stanzaId = 0 
) [virtual]

Send a stanza with session content(s) This method is thread safe

Parameters:
actionMust be a transport- or content- action
contentsNon empty list with content(s) to send
stanzaIdOptional string to be filled with sent stanza id (used to track the response)
Returns:
False if send failed

Reimplemented from JGSession.

virtual bool sendStreamHosts ( const ObjList hosts,
String stanzaId = 0 
) [virtual]

Send a stanza with stream hosts This method is thread safe

Parameters:
hostsThe list of hosts to send
stanzaIdOptional string to be filled with sent stanza id (used to track the response)
Returns:
False if send failed

Reimplemented from JGSession.

virtual bool sendStreamHostUsed ( const char *  jid,
const char *  stanzaId 
) [virtual]

Send a stanza with a stream host used. If the jid is empty, send an item-not-found error response This method is thread safe

Parameters:
jidThe stream host to send
stanzaIdThe id of the stanza to confirm
Returns:
False if send failed

Reimplemented from JGSession.


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