Yate
JBClientEngine Class Reference

A Jabber client engine. More...

#include <yatejabber.h>

Inheritance diagram for JBClientEngine:
JBEngine DebugEnabler Mutex GenObject Lockable

Public Member Functions

 JBClientEngine (const char *name="jbclientengine")
 
 ~JBClientEngine ()
 
virtual void cleanup (bool final=false, bool waitTerminate=true)
 
JBClientStreamfindAccount (const String &account)
 
JBClientStreamcreate (const String &account, const NamedList &params, const String &name=String::empty())
 
virtual void getStreamList (RefPointer< JBStreamSetList > &list, int type)
 
- Public Member Functions inherited from JBEngine
 JBEngine (const char *name="jbengine")
 
virtual ~JBEngine ()
 
unsigned int streamReadBuffer () const
 
bool exiting () const
 
void setExiting ()
 
unsigned int redirectMax () const
 
bool hasClientTls () const
 
JBRemoteDomainDefremoteDomainDef (const String &domain)
 
virtual void destruct ()
 
virtual void initialize (const NamedList &params)
 
bool acceptConn (Socket *sock, SocketAddr &remote, JBStream::Type t, bool ssl=false)
 
virtual JBStreamfindStream (const String &id, JBStream::Type hint=JBStream::TypeCount)
 
ObjListfindClientStreams (bool in, const JabberID &jid, int flags=0xffffffff)
 
ObjListfindClientStreams (bool in, const JabberID &jid, const ObjList &resources, int flags=0xffffffff)
 
JBClientStreamfindClientStream (bool in, const JabberID &jid)
 
virtual unsigned int dropAll (JBStream::Type type=JBStream::TypeCount, const JabberID &local=JabberID::empty(), const JabberID &remote=JabberID::empty(), XMPPError::Type error=XMPPError::NoError, const char *reason=0)
 
virtual void buildStreamName (String &name, const JBStream *stream)
 
virtual bool hasDomain (const String &domain)
 
virtual void processEvent (JBEvent *ev)
 
virtual void returnEvent (JBEvent *ev, XMPPError::Type error=XMPPError::NoError, const char *reason=0)
 
virtual void encryptStream (JBStream *stream)
 
virtual void connectStream (JBStream *stream)
 
virtual void compressStream (JBStream *stream, const String &formats)
 
virtual void buildDialbackKey (const String &id, const String &local, const String &remote, String &key)
 
bool checkDupId (JBStream *stream)
 
virtual void printXml (const JBStream *stream, bool send, XmlChild &xml) const
 
virtual void printXml (const JBStream *stream, bool send, XmlFragment &frag) const
 
- Public Member Functions inherited from DebugEnabler
 DebugEnabler (int level=TelEngine::debugLevel(), bool enabled=true)
 
int debugLevel () const
 
int debugLevel (int level)
 
bool debugEnabled () const
 
void debugEnabled (bool enable)
 
const char * debugName () const
 
bool debugAt (int level) const
 
bool debugChained () const
 
void debugChain (const DebugEnabler *chain=0)
 
void debugCopy (const DebugEnabler *original=0)
 
- Public Member Functions inherited from Mutex
 Mutex (bool recursive=false, const char *name=0)
 
 Mutex (const Mutex &original)
 
 ~Mutex ()
 
Mutexoperator= (const Mutex &original)
 
virtual bool lock (long maxwait=-1)
 
virtual bool unlock ()
 
virtual bool locked () const
 
const char * owner () const
 
bool recursive () const
 
- Public Member Functions inherited from Lockable
virtual ~Lockable ()
 
virtual bool check (long maxwait=-1)
 
virtual bool unlockAll ()
 
- Public Member Functions inherited from GenObject
 GenObject ()
 
virtual ~GenObject ()
 
virtual bool alive () const
 
virtual const StringtoString () const
 
virtual const StringtraceId () const
 
virtual void * getObject (const String &name) const
 
NamedCountergetObjCounter () const
 
NamedCountersetObjCounter (NamedCounter *counter)
 

Protected Member Functions

virtual void addStream (JBStream *stream)
 
virtual void removeStream (JBStream *stream, bool delObj=true)
 
virtual void stopStreamSets (bool waitTerminate=true)
 
- Protected Member Functions inherited from JBEngine
void getStreamLists (RefPointer< JBStreamSetList > list[JBStream::TypeCount], int type=JBStream::TypeCount)
 
JBStreamfindStream (const String &id, JBStreamSetList *list)
 
- Protected Member Functions inherited from DebugEnabler
void debugName (const char *name)
 

Protected Attributes

JBStreamSetListm_receive
 
JBStreamSetListm_process
 
- Protected Attributes inherited from JBEngine
bool m_exiting
 
JBRemoteDomainDef m_remoteDomain
 
ObjList m_remoteDomains
 
unsigned char m_restartMax
 
unsigned int m_restartUpdInterval
 
unsigned int m_setupTimeout
 
unsigned int m_startTimeout
 
unsigned int m_connectTimeout
 
unsigned int m_srvTimeout
 
unsigned int m_pingInterval
 
unsigned int m_pingTimeout
 
unsigned int m_idleTimeout
 
unsigned int m_pptTimeoutC2s
 
unsigned int m_pptTimeout
 
unsigned int m_streamReadBuffer
 
unsigned int m_maxIncompleteXml
 
unsigned int m_redirectMax
 
bool m_hasClientTls
 
int m_printXml
 
bool m_initialized
 

Additional Inherited Members

- Static Public Member Functions inherited from Mutex
static int count ()
 
static int locks ()
 
static bool efficientTimedLock ()
 
- Static Public Member Functions inherited from Lockable
static void wait (unsigned long maxwait)
 
static unsigned long wait ()
 
static void startUsingNow ()
 
static void enableSafety (bool safe=true)
 
static bool safety ()
 
- Static Public Member Functions inherited from GenObject
static void * getObject (const String &name, const GenObject *obj)
 
static bool getObjCounting ()
 
static void setObjCounting (bool enable)
 
static NamedCountergetObjCounter (const String &name, bool create=true)
 
static ObjListgetObjCounters ()
 

Detailed Description

A Jabber client engine.

This class implements a Jabber client engine

Constructor & Destructor Documentation

◆ JBClientEngine()

JBClientEngine ( const char * name = "jbclientengine")

Constructor

Parameters
nameEngine name

◆ ~JBClientEngine()

Destructor

Member Function Documentation

◆ addStream()

virtual void addStream ( JBStream * stream)
protectedvirtual

Add a stream to one of the stream lists

Parameters
streamThe stream to add

Reimplemented from JBEngine.

◆ cleanup()

virtual void cleanup ( bool final = false,
bool waitTerminate = true )
virtual

Terminate all streams. Stop all sets processors. Release memory if final

Parameters
finalTrue if called from destructor
waitTerminateTrue to wait for all streams to terminate

Reimplemented from JBEngine.

◆ create()

JBClientStream * create ( const String & account,
const NamedList & params,
const String & name = String::empty() )

Build an outgoing client stream

Parameters
accountAccount name
paramsStream parameters
nameOptional stream name
Returns
Referenced JBClientStream pointer or 0 if a stream already exists

References String::empty().

◆ findAccount()

JBClientStream * findAccount ( const String & account)

Find a stream by account

Parameters
accountAccount name
Returns
Referenced JBClientStream pointer or 0

◆ getStreamList()

virtual void getStreamList ( RefPointer< JBStreamSetList > & list,
int type )
virtual

Retrieve the list of streams of a given type

Parameters
listThe destination list to set
typeStream type

Reimplemented from JBEngine.

◆ removeStream()

virtual void removeStream ( JBStream * stream,
bool delObj = true )
protectedvirtual

Remove a stream

Parameters
streamThe stream to remove
delObjTrue to release the stream, false to remove it from list without releasing it

Reimplemented from JBEngine.

◆ stopStreamSets()

virtual void stopStreamSets ( bool waitTerminate = true)
protectedvirtual

Stop all stream sets

Parameters
waitTerminateTrue to wait for all streams to terminate

Reimplemented from JBEngine.


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