Files
libstrophe-gh/strophepp.h
2005-06-23 21:01:23 +00:00

97 lines
2.4 KiB
C++

#ifndef __LIBSTROPHE_STROPHEPP_H__
#define __LIBSTROPHE_STROPHEPP_H__
#include "strophe.h"
namespace XMPP {
typedef void (*alloc_handler)(const size_t size);
typedef void (*free_handler)(void *p);
typedef void (*realloc_handler)(void *p const size_t size);
class Context {
private:
xmpp_ctx_t *ctx;
public:
Context();
virtual ~Context();
void setAlloc(alloc_handler handler);
void setRealloc(realloc_handler handler);
void setFree(free_handler handler);
void setLogger(xmpp_log_handler handler, void * const userdata);
}
class Connection {
private:
xmpp_conn_t *conn;
public:
Connection();
virtual ~Connection();
Connection *clone();
const char *getJID();
void setJID(const char * const jid);
const char *getPass();
void setPass(const char * const pass);
bool connectClient(const char * const domain,
xmpp_conn_handler callback,
void * const userdata);
void disconnect();
void send(Stanza *stanza);
void addTimedHandler(xmpp_timed_handler handler,
const unsigned long perdio,
void * const userdata);
void deleteTimedHandler(xmpp_timed_handler handler);
void addHandler(xmpp_handler handler,
const char * const ns,
const char * const name,
const char * const type,
void * const userdata);
void deleteHandler(xmpp_handler handler);
void addIdHandler(xmpp_handler handler,
const char * const id,
void * const userdata);
void deleteIdHandler(xmpp_handler handler);
}
class Stanza {
private:
xmpp_stanza_t *stanza;
public:
Stanza();
virtual ~Stanza();
Stanza *clone();
Stanza *copy();
int toText(const char ** const buf, size_t * const buflen);
Stanza *getChildren();
Stanza *getChildByName(const char * const name);
Stanza *getNext();
char *getAttribute(const char * const name);
char *getNamespace();
char *getText();
char *getName();
void addChild(Stanza *child);
void setNamespace(const char * const ns);
void setAttribute(const char * const key, const char * const value);
void setName(const char * const name);
void setText(const char * const text);
void setText(const char * const text, const size_t size);
char *getType();
char *getId();
char *getTo();
char *getFrom();
void setType(const char * const type);
void setId(const char * const id);
void setTo(const char * const to);
void setFrom(const char * const from);
}
}
#endif /* __LIBSTROPHE_STROPHEPP_H__ */