First draft C++ api. This is more or less a direct translation of the OO
C calls.
This commit is contained in:
@@ -7,6 +7,10 @@
|
||||
#ifndef __LIBSTROPHE_STROPHE_H__
|
||||
#define __LIBSTROPHE_STROPHE_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
/* namespace defines */
|
||||
@@ -263,4 +267,8 @@ void xmpp_run_once(xmpp_ctx_t *ctx, const unsigned long timeout);
|
||||
void xmpp_run(xmpp_ctx_t *ctx);
|
||||
void xmpp_stop(xmpp_ctx_t *ctx);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __LIBSTROPHE_STROPHE_H__ */
|
||||
|
||||
96
strophepp.h
Normal file
96
strophepp.h
Normal file
@@ -0,0 +1,96 @@
|
||||
#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__ */
|
||||
Reference in New Issue
Block a user