29#ifdef LIBYJABBER_EXPORTS
30#define YJABBER_API __declspec(dllexport)
32#ifndef LIBYJABBER_STATIC
33#define YJABBER_API __declspec(dllimport)
60class XMPPFeatureCompress;
79 : m_array((
String*)array), m_length(len)
87 inline const String&
at(
unsigned int index)
const
88 {
return index < m_length ? m_array[index] :
String::empty(); }
96 {
return m_array[index]; }
105 for (; i < m_length; i++)
106 if (m_array[i] == token)
113 unsigned int m_length;
155 SIProfileFileTransfer,
163 JingleAppsFileTransfer,
164 JingleTransportIceUdp,
165 JingleTransportRawUdp,
166 JingleTransportRawUdpInfo,
167 JingleTransportByteStreams,
190 JingleTransportGoogleRawUdp,
206 static const String s_array[Count];
287 TypeCancel = TypeCount,
304 static const String s_array[Count];
420 static const String s_array[Count];
456 {
set(TelEngine::c_safe(jid)); }
479 {
return null() || m_domain; }
507 {
set(m_node.c_str(),d,m_resource.c_str()); }
514 {
return m_resource; }
521 {
return m_node && m_domain && m_resource; }
556 {
set(src);
return *
this; }
564 {
set(TelEngine::c_safe(src));
return *
this; }
604 {
set(m_node.c_str(),m_domain.c_str(),res); }
610 void set(
const char* jid);
665 inline JIDIdentity(
const char* c,
const char* t,
const char* name = 0)
666 : m_category(c), m_type(t), m_name(name)
681 if (!(m_category && m_type))
700 const char* type,
const char* name);
720 void toXml(XmlElement* parent)
const;
745 { setFeature(feature); }
762 : m_xml(
XmlTag::Count), m_required(false)
763 { setFeature(feature); }
770 :
String(feature), m_xml(
XmlTag::Count), m_required(false)
784 {
return m_required; }
791 virtual XmlElement*
build(
bool addReq =
true);
813 void setFeature(
int feature);
843 {
return m_mechanisms; }
850 {
return 0 != (m_mechanisms & mech); }
857 virtual XmlElement*
build(
bool addReq =
true);
887 {
return m_methods; }
901 virtual XmlElement*
build(
bool addReq =
true);
923 inline bool add(
int xml,
int feature,
bool required =
false) {
935 inline bool add(
int feature) {
948 if (!feature ||
get(*feature)) {
949 TelEngine::destruct(feature);
961 m_identities.clear();
962 m_entityCapsHash.clear();
1037 const char* node = 0,
const char* cap = 0);
1126 AuthDialback = 0x08,
1143 String* tmp = xml.getAttribute(
"type");
1144 return tmp && (*tmp ==
"result" || *tmp ==
"error");
1153 jid = params[YSTRING(
"to")];
1155 jid.
resource(params[YSTRING(
"to_instance")]);
1164 jid = params[YSTRING(
"from")];
1166 jid.
resource(params[YSTRING(
"from_instance")]);
1178 XmlElement* xml =
new XmlElement(
String(name),
true);
1179 if (!TelEngine::null(text))
1203 const char* text = 0) {
1227 static XmlElement*
createElement(
const XmlElement& src,
bool response,
bool result);
1238 const char* attrValue,
int ns = XMPPNamespace::Count) {
1240 x->setAttributeValid(attrName,attrValue);
1253 const char* to = 0,
const char*
id = 0);
1264 const char*
id, XmlElement* child = 0) {
1265 XmlElement* xml =
createIq(IqResult,from,to,
id);
1267 xml->addChild(child);
1282 static XmlElement*
createIqError(
const char* from,
const char* to, XmlElement*& xml,
1283 int type,
int error,
const char* text = 0);
1292 static XmlElement*
createPing(
const char*
id = 0,
const char* from = 0,
1293 const char* to = 0);
1303 static XmlElement*
createVCard(
bool get,
const char* from,
const char* to,
const char*
id);
1313 const char* sessionId = 0);
1326 static XmlElement*
createIqDisco(
bool info,
bool req,
const char* from,
const char* to,
1327 const char*
id,
const char* node = 0,
const char* cap = 0);
1340 const char*
id,
const char* name,
const char* version,
const char* os = 0);
1349 static XmlElement*
createError(
int type,
int error,
const char* text = 0);
1361 const char* text = 0);
1384 const char* to,
const char*
id,
1385 XmlElement* child1 = 0, XmlElement* child2 = 0, XmlElement* child3 = 0);
1393 XmlElement* iq =
createIq(IqGet,0,0,
id);
1394 iq->addChild(
createElement(XmlTag::Query,XMPPNamespace::IqAuth));
1408 const char* resource,
const char* authStr,
bool digest);
1418 bool plain =
false);
1430 const char* to,
const char*
id,
1431 const char* username,
const char* password) {
1446 if (error != XMPPError::NoError)
1447 xml->addChild(
new XmlElement(
s_error[error]));
1457 static inline XmlElement*
createXOobUrl(
const char* url,
const char* desc = 0) {
1458 XmlElement* xml =
createElement(XmlTag::X,XMPPNamespace::XOob);
1473 static XmlElement*
createDelay(
unsigned int timeSec,
const char* from = 0,
1474 unsigned int fractions = 0,
const char* text = 0);
1489 static XmlElement*
createHash(
const char* name,
const char* value);
1497 static void decodeHash(XmlElement& xml,
const char*& name,
const char*& value);
1505 XmlElement* m =
createElement(XmlTag::Match,XMPPNamespace::FileInfoShare);
1507 m->addChildSafe(child);
1564 static inline int xmlns(XmlElement& xml) {
1566 return x ?
s_ns[*x] : XMPPNamespace::Count;
1576 String* s = xml.xmlnsAttribute(XmlElement::s_ns);
1577 return s && *s ==
s_ns[
ns];
1587 {
return xml.hasXmlns(
s_ns[
ns]); }
1598 bool addAttr =
false,
int ns = XMPPNamespace::Count) {
1599 if (
ns < XMPPNamespace::Count)
1600 return xml.setXmlns(name,addAttr,
s_ns[
ns]);
1601 return xml.setXmlns(name);
1611 {
return setXmlns(xml,
"stream",addAttr,XMPPNamespace::Stream); }
1619 {
return setXmlns(xml,
"db",
true,XMPPNamespace::Dialback); }
1629 int ns = XMPPNamespace::Count);
1640 int t = XmlTag::Count,
int ns = XMPPNamespace::Count);
1651 return c ? &(c->getText()) : 0;
1668 int defVal = 0,
int base = 0,
int minvalue = INT_MIN,
int maxvalue = INT_MAX,
1669 bool clamp =
true) {
1671 return tmp ? tmp->
toInteger(defVal,base,minvalue,maxvalue,clamp) : defVal;
1702 unsigned int fractions = 0);
1797 const char* to,
Presence type = PresenceNone);
1809 const char* to,
const char*
id,
const char*
body);
1821 const char* to,
const char*
id,
const char*
body)
1854 const char*
id,
const char* key);
1919 const char*
tag =
"parameter") {
1920 XmlElement* tmp =
new XmlElement(
tag);
1921 tmp->setAttributeValid(
"name",name);
1922 tmp->setAttributeValid(
"value",value);
1933 const char*
tag =
"parameter")
1941 static inline int ns(
const XmlElement& xml) {
1951 static inline int tag(
const XmlElement& xml)
1952 {
return s_tag[xml.getTag()]; }
1964 if (!xml.getTag(t,n))
1967 ns = n ?
s_ns[*n] : XMPPNamespace::Count;
1968 return tag != XmlTag::Count;
1978 static inline bool isTag(
const XmlElement& xml,
int tag,
int ns) {
1990 {
return xml.unprefixedTag() ==
s_tag[
tag]; }
1999 return getTag(xml,t,n) &&
2000 (t == XmlTag::Iq || t == XmlTag::Presence || t == XmlTag::Message);
2030 const char* extra =
"data");
2045 const char* extra =
"data",
Presence type = PresenceNone,
bool build =
true);
2059 const char* extra =
"data",
bool build =
true);
2100 {
return lookup(msg,
s_msg,0); }
2108 {
return (
IqType)lookup(text,
s_iq,IqCount); }
2116 static inline int authMeth(
const char* text,
int defVal = AuthNone)
2207 : m_value(other.m_value)
2242 { m_value |= flag; }
2249 { m_value &= ~flag; }
2257 {
return (m_value & mask) != 0; }
2264 {
return test(To); }
2271 {
return test(From); }
2276 inline operator int()
2302 bool unclose =
false)
2303 : m_element(
element), m_offset(0), m_id(senderID), m_unclose(unclose),
2312 { TelEngine::destruct(m_element); }
2319 {
return m_element; }
2333 {
return m_buffer; }
2347 {
return m_buffer.length() - m_offset; }
2354 inline const char*
getData(
unsigned int& nCount) {
2358 return m_buffer.c_str() + m_offset;
2368 if (m_offset > m_buffer.length())
2369 m_offset = m_buffer.length();
2378 XmlElement* e = m_element;
2399 XmlElement* m_element;
2401 unsigned int m_offset;
Definition yateclass.h:1049
A list of JID identities.
Definition xmpputils.h:713
void fromXml(XmlElement *parent)
void toXml(XmlElement *parent) const
XmlElement * toXml() const
Definition xmpputils.h:680
void fromXml(XmlElement *identity)
static XmlElement * createIdentity(const char *category, const char *type, const char *name)
JIDIdentity(XmlElement *identity)
Definition xmpputils.h:673
JIDIdentity(const char *c, const char *t, const char *name=0)
Definition xmpputils.h:665
A Jabber ID.
Definition xmpputils.h:429
JabberID & operator=(const JabberID &src)
JabberID & operator=(const String *src)
Definition xmpputils.h:563
bool valid() const
Definition xmpputils.h:478
JabberID(const String &jid)
Definition xmpputils.h:448
JabberID(const char *jid)
Definition xmpputils.h:441
bool match(const JabberID &src) const
Definition xmpputils.h:540
void resource(const char *res)
Definition xmpputils.h:603
static const JabberID & empty()
void set(const char *node, const char *domain, const char *resource=0)
const String & node() const
Definition xmpputils.h:485
const String & resource() const
Definition xmpputils.h:513
JabberID(const String *jid)
Definition xmpputils.h:455
void set(const char *jid)
static Regexp s_regExpValid
Definition xmpputils.h:636
bool operator==(const JabberID &src) const
Definition xmpputils.h:572
JabberID()
Definition xmpputils.h:435
bool operator!=(const JabberID &src) const
Definition xmpputils.h:588
const String & bare() const
Definition xmpputils.h:492
JabberID(const char *node, const char *domain, const char *resource=0)
Definition xmpputils.h:464
JabberID(const JabberID &src)
Definition xmpputils.h:471
bool operator==(const String &src) const
Definition xmpputils.h:580
void clear()
Definition xmpputils.h:526
static bool valid(const String &value)
bool isFull() const
Definition xmpputils.h:520
const String & domain() const
Definition xmpputils.h:499
void domain(const char *d)
Definition xmpputils.h:506
bool operator!=(const String &src) const
Definition xmpputils.h:596
JabberID & operator=(const String &src)
Definition xmpputils.h:555
A named string container class.
Definition yateclass.h:5016
A named string class.
Definition yateclass.h:3481
const String & name() const
Definition yateclass.h:3495
An object list class.
Definition yateclass.h:1454
ObjList * find(const GenObject *obj) const
ObjList * append(const GenObject *obj, bool compact=true)
GenObject * get() const
Definition yateclass.h:1490
GenObject * remove(bool delobj=true)
A regexp matching class.
Definition yateclass.h:3271
A String array.
Definition xmpputils.h:71
StringArray(const String *array, unsigned int len)
Definition xmpputils.h:78
const String & operator[](unsigned int index) const
Definition xmpputils.h:95
const String & at(unsigned int index) const
Definition xmpputils.h:87
int operator[](const String &token)
Definition xmpputils.h:103
A C-style string handling class.
Definition yateclass.h:2131
bool null() const
Definition yateclass.h:2265
int toInteger(int defvalue=0, int base=0, int minvalue=INT_MIN, int maxvalue=INT_MAX, bool clamp=true) const
static const String & empty()
void reset(int flag)
Definition xmpputils.h:2248
void toString(String &buf, bool full) const
bool from() const
Definition xmpputils.h:2270
void replace(const String &flags)
Definition xmpputils.h:2221
Direction
Definition xmpputils.h:2175
XMPPDirVal(int flags=None)
Definition xmpputils.h:2190
void toSubscription(String &buf) const
XMPPDirVal(const String &flags)
Definition xmpputils.h:2198
XMPPDirVal(const XMPPDirVal &other)
Definition xmpputils.h:2206
bool test(int mask) const
Definition xmpputils.h:2256
bool to() const
Definition xmpputils.h:2263
void replace(int flag)
Definition xmpputils.h:2214
void set(int flag)
Definition xmpputils.h:2241
static const TokenDict s_names[]
Definition xmpputils.h:2282
XMPP errors.
Definition xmpputils.h:215
Type
Definition xmpputils.h:220
ErrorType
Definition xmpputils.h:286
XMPPError()
Definition xmpputils.h:299
A compression feature.
Definition xmpputils.h:869
XMPPFeatureCompress(const String &meth, bool required=false)
Definition xmpputils.h:877
virtual XmlElement * build(bool addReq=true)
const String & methods() const
Definition xmpputils.h:886
bool hasMethod(const String &method) const
JID feature list.
Definition xmpputils.h:913
void fromDiscoInfo(XmlElement &xml)
XMPPFeature * get(const String &feature)
Definition xmpputils.h:1002
XmlElement * buildDiscoInfo(const char *from, const char *to, const char *id, const char *node=0, const char *cap=0)
XmlElement * buildStreamFeatures()
void fromStreamFeatures(XmlElement &xml)
XMPPFeature * get(int feature)
void add(XmlElement &xml)
XMPPFeatureSasl * getSasl()
Definition xmpputils.h:1011
bool add(XMPPFeature *feature)
Definition xmpputils.h:947
XMPPFeatureCompress * getCompress()
Definition xmpputils.h:1018
void reset()
Definition xmpputils.h:959
bool add(int xml, int feature, bool required=false)
Definition xmpputils.h:923
bool add(int feature)
Definition xmpputils.h:935
void remove(int feature)
Definition xmpputils.h:987
void add(XMPPFeatureList &list)
A SASL feature.
Definition xmpputils.h:825
int mechanisms() const
Definition xmpputils.h:842
bool mechanism(int mech) const
Definition xmpputils.h:849
virtual XmlElement * build(bool addReq=true)
XMPPFeatureSasl(int mech, bool required=false)
Definition xmpputils.h:833
A feature.
Definition xmpputils.h:734
XMPPFeature(int xml, const char *feature, bool required=false)
Definition xmpputils.h:753
virtual ~XMPPFeature()
Definition xmpputils.h:776
void addReqChild(XmlElement &xml)
virtual XmlElement * build(bool addReq=true)
XMPPFeature(int feature)
Definition xmpputils.h:761
XMPPFeature(const char *feature)
Definition xmpputils.h:769
XMPPFeature(int xml, int feature, bool required=false)
Definition xmpputils.h:743
bool required() const
Definition xmpputils.h:783
static XMPPFeature * fromStreamFeature(XmlElement &xml)
virtual XmlElement * buildFeature()
XMPP namespaces.
Definition xmpputils.h:125
Type
Definition xmpputils.h:130
XMPPNamespace()
Definition xmpputils.h:201
General XMPP utilities.
Definition xmpputils.h:1060
static bool isStanza(const XmlElement &xml)
Definition xmpputils.h:1997
static bool isResponse(const XmlElement &xml)
Definition xmpputils.h:1142
static XmlElement * createFileNsTransfer(const char *name=0)
static XmlElement * getXml(NamedList &list, const char *param="xml", const char *extra="data")
static XmlElement * createIqAuthOffer(const char *id, bool digest=true, bool plain=false)
static XmlElement * createDialbackKey(const char *from, const char *to, const char *key)
static XmlElement * createElement(const char *name, int ns, const char *text=0)
Definition xmpputils.h:1202
static bool isUnprefTag(const XmlElement &xml, int tag)
Definition xmpputils.h:1989
static XmlElement * createElement(int type, int ns, const char *text=0)
Definition xmpputils.h:1216
static XmlElement * createParameter(const NamedString &pair, const char *tag="parameter")
Definition xmpputils.h:1932
static XmlElement * createElement(const char *name, const char *text=0, const String &ns=String::empty())
Definition xmpputils.h:1176
static XmlElement * createMessage(const char *type, const char *from, const char *to, const char *id, const char *body)
static bool remove(XmlElement &xml)
Definition xmpputils.h:1532
static int cmpBytes(const String &s1, const String &s2)
static XmlElement * createSubject(const char *subject)
Definition xmpputils.h:1881
static XmlElement * createPing(const char *id=0, const char *from=0, const char *to=0)
static XmlElement * createIqDisco(bool info, bool req, const char *from, const char *to, const char *id, const char *node=0, const char *cap=0)
static int decodeDbRsp(XmlElement *xml)
static int priority(XmlElement &xml, int defVal=0)
static bool hasXmlns(const XmlElement &xml, int ns)
Definition xmpputils.h:1586
static XmlElement * getXml(GenObject *gen, bool takeOwnerShip=true)
static bool setDbXmlns(XmlElement &xml)
Definition xmpputils.h:1618
static const TokenDict s_presence[]
Definition xmpputils.h:2137
static XmlElement * createDialbackVerifyRsp(const char *from, const char *to, const char *id, XMPPError::Type rsp=XMPPError::NoError)
static bool split(NamedList &dest, const char *src, const char sep, bool nameFirst)
MsgType
Definition xmpputils.h:1079
static XmlElement * createElement(const XmlElement &src, bool response, bool result)
static XmlElement * createRegisterQuery(const char *from, const char *to, const char *id, const char *username, const char *password)
Definition xmpputils.h:1429
static XmlElement * createMessage(MsgType type, const char *from, const char *to, const char *id, const char *body)
Definition xmpputils.h:1820
static const String * childText(XmlElement &xml, int tag, int ns=XMPPNamespace::Count)
Definition xmpputils.h:1649
static bool setStreamXmlns(XmlElement &xml, bool addAttr=true)
Definition xmpputils.h:1610
static XmlElement * createEntityCaps(const String &hash, const char *node)
static int decodeFlags(const String &src, const TokenDict *dict)
static void print(String &xmlStr, XmlChild &xml, bool verbose)
static XmlElement * getXml(const String &data)
static int tag(const XmlElement &xml)
Definition xmpputils.h:1951
static void setPriority(XmlElement &xml, const char *prio)
Definition xmpputils.h:1556
static bool required(XmlElement &xml)
Definition xmpputils.h:1540
static const TokenDict s_commandAction[]
Definition xmpputils.h:2152
static unsigned int decodeDateTimeSec(const String &time, unsigned int *fractions=0)
static void decodeError(XmlElement *xml, int ns=XMPPNamespace::Count, String *error=0, String *text=0, String *content=0)
static XmlElement * createXOobUrl(const char *url, const char *desc=0)
Definition xmpputils.h:1457
static const TokenDict s_iq[]
Definition xmpputils.h:2147
static XmlElement * createRegisterQuery(IqType type, const char *from, const char *to, const char *id, XmlElement *child1=0, XmlElement *child2=0, XmlElement *child3=0)
static XmlElement * createIqVersionRes(const char *from, const char *to, const char *id, const char *name, const char *version, const char *os=0)
static XmlElement * createIqAuthGet(const char *id)
Definition xmpputils.h:1392
static int ns(const XmlElement &xml)
Definition xmpputils.h:1941
static XmlElement * createStreamError(int error, const char *text=0, const char *content=0)
static XmlElement * findFirstChild(const XmlElement &xml, int t=XmlTag::Count, int ns=XMPPNamespace::Count)
static XmlElement * createDialbackResult(const char *from, const char *to, XMPPError::Type rsp=XMPPError::NoError)
static bool getTag(const XmlElement &xml, int &tag, int &ns)
Definition xmpputils.h:1961
static void getJIDFrom(const NamedList ¶ms, JabberID &jid)
Definition xmpputils.h:1163
static XmlElement * createError(int type, int error, const char *text=0)
static XmlElement * findNextChild(const XmlElement &xml, XmlElement *start, int t=XmlTag::Count, int ns=XMPPNamespace::Count)
static bool hasDefaultXmlns(const XmlElement &xml, int ns)
Definition xmpputils.h:1575
static bool isTag(const XmlElement &xml, int tag, int ns)
Definition xmpputils.h:1978
static XmlElement * createFileInfoShareMatch(XmlElement *child=0)
Definition xmpputils.h:1504
AuthMethod
Definition xmpputils.h:1121
static const TokenDict s_authMeth[]
Definition xmpputils.h:2162
static void getJIDTo(const NamedList ¶ms, JabberID &jid)
Definition xmpputils.h:1152
static void decodeError(XmlElement *xml, String &error, String &text)
static void decodeHash(XmlElement &xml, const char *&name, const char *&value)
static XmlElement * createElementAttr(int tag, const String &attrName, const char *attrValue, int ns=XMPPNamespace::Count)
Definition xmpputils.h:1237
static XmlElement * createBody(const char *body, int ns=XMPPNamespace::Count)
Definition xmpputils.h:1900
static XmlElement * createHash(const char *name, const char *value)
static XmlElement * getPresenceXml(NamedList &list, const char *param="xml", const char *extra="data", Presence type=PresenceNone, bool build=true)
static XmlElement * createIqError(const char *from, const char *to, XmlElement *&xml, int type, int error, const char *text=0)
static const TokenDict s_commandStatus[]
Definition xmpputils.h:2157
static IqType iqType(const char *text)
Definition xmpputils.h:2107
static XmlElement * createDialbackVerify(const char *from, const char *to, const char *id, const char *key)
static Presence presenceType(const char *text)
Definition xmpputils.h:2075
static XmlElement * createIqAuthSet(const char *id, const char *username, const char *resource, const char *authStr, bool digest)
static XmlElement * createFailure(XMPPNamespace::Type ns, XMPPError::Type error=XMPPError::NoError)
Definition xmpputils.h:1443
IqType
Definition xmpputils.h:1090
static const String & body(XmlElement &xml, int ns=XMPPNamespace::Count)
static bool addChidren(XmlElement *dest, ObjList &list)
static const String & subject(XmlElement &xml)
Definition xmpputils.h:1889
static XMPPError s_error
Definition xmpputils.h:2127
static XmlElement * getChatXml(NamedList &list, const char *param="xml", const char *extra="data", bool build=true)
static XmlElement * createRSM(const NamedList ¶ms, const String &prefix="rsm_")
Presence
Definition xmpputils.h:1065
static void buildFlags(String &dest, int src, const TokenDict *dict)
static XmlElement * createIq(IqType type, const char *from=0, const char *to=0, const char *id=0)
static XmlElement * createIqResult(const char *from, const char *to, const char *id, XmlElement *child=0)
Definition xmpputils.h:1263
static int authMeth(const char *text, int defVal=AuthNone)
Definition xmpputils.h:2116
static XmlElement * createDelay(unsigned int timeSec, const char *from=0, unsigned int fractions=0, const char *text=0)
static bool setXmlns(XmlElement &xml, const String &name=String::empty(), bool addAttr=false, int ns=XMPPNamespace::Count)
Definition xmpputils.h:1597
static XmlElement * createError(XmlElement *xml, int type, int error, const char *text=0)
static void addRSM(XmlElement *rsm, NamedList ¶ms, const String &prefix="rsm_")
static const TokenDict s_msg[]
Definition xmpputils.h:2142
static int findTag(const String &tag, int *tags)
static XmlElement * createEntityCapsGTalkV1(const char *node=0, bool muc=false)
static unsigned int decodeDateTimeSecXDelay(const String &time)
static const char * msgText(MsgType msg)
Definition xmpputils.h:2099
static void toList(XmlElement &xml, NamedList &dest, const char *prefix)
static XMPPNamespace s_ns
Definition xmpputils.h:2122
static XmlElement * createCommand(CommandAction action, const char *node, const char *sessionId=0)
static const char * presenceText(Presence presence)
Definition xmpputils.h:2083
static XmlTag s_tag
Definition xmpputils.h:2132
static int xmlns(XmlElement &xml)
Definition xmpputils.h:1564
static int childTextInt(XmlElement &xml, int tag, int ns=XMPPNamespace::Count, int defVal=0, int base=0, int minvalue=INT_MIN, int maxvalue=INT_MAX, bool clamp=true)
Definition xmpputils.h:1667
CommandAction
Definition xmpputils.h:1101
static XmlElement * createParameter(const char *name, const char *value, const char *tag="parameter")
Definition xmpputils.h:1918
static XmlElement * createPresence(const char *from, const char *to, Presence type=PresenceNone)
static void encodeDateTimeSec(String &buf, unsigned int timeSec, unsigned int fractions=0)
static MsgType msgType(const char *text)
Definition xmpputils.h:2091
CommandStatus
Definition xmpputils.h:1112
static XmlElement * createElement(int type, const char *text=0)
Definition xmpputils.h:1192
static XmlElement * createVCard(bool get, const char *from, const char *to, const char *id)
void dataSent(unsigned int nCount)
Definition xmpputils.h:2365
XmlElementOut(XmlElement *element, const char *senderID=0, bool unclose=false)
Definition xmpputils.h:2301
const String & buffer()
Definition xmpputils.h:2332
XmlElement * release()
Definition xmpputils.h:2377
virtual ~XmlElementOut()
Definition xmpputils.h:2311
bool sent() const
Definition xmpputils.h:2325
const String & id() const
Definition xmpputils.h:2339
XmlElement * element() const
Definition xmpputils.h:2318
void prepareToSend()
Definition xmpputils.h:2395
unsigned int dataCount()
Definition xmpputils.h:2346
const char * getData(unsigned int &nCount)
Definition xmpputils.h:2354
void toBuffer(String &buffer)
Definition xmpputils.h:2387
XML known tags array.
Definition xmpputils.h:312
Type
Definition xmpputils.h:317
XmlTag()
Definition xmpputils.h:415
Definition yateclass.h:848