summaryrefslogtreecommitdiff
path: root/src/libicalcap/icalcap_server_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libicalcap/icalcap_server_impl.h')
-rw-r--r--src/libicalcap/icalcap_server_impl.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/libicalcap/icalcap_server_impl.h b/src/libicalcap/icalcap_server_impl.h
new file mode 100644
index 00000000..c5d527d2
--- /dev/null
+++ b/src/libicalcap/icalcap_server_impl.h
@@ -0,0 +1,31 @@
+#ifndef __ICALCAP_SERVER_IMPL_H__
+#define __ICALCAP_SERVER_IMPL_H__
+
+#ifdef WITH_RR
+
+#include <librr/rr.h>
+#include <librrsasl/rr-sasl.h>
+#include <librrtls/rr-tls.h>
+#include <librrcap/rr-cap.h>
+
+struct _icalcap_server {
+ RRProfileRegistry *profreg;
+ RRListener *listener;
+ RRCAPConfig *cfg;
+ icalcap_msg_handler handler;
+};
+
+icalcap_server *icalcap_server_new_rr(icalcap_auth_handler auth_cb,
+ icalcap_chanup_handler chanup_cb,
+ icalcap_msg_handler msg_cb);
+int icalcap_server_listen_rr(icalcap_server *cap,
+ const char *hostname,
+ const int port);
+int icalcap_server_run_rr(const icalcap_server *cap);
+int icalcap_server_shutdown_rr(icalcap_server *cap);
+
+#else
+#error "No implementation of icalcap found!"
+#endif
+
+#endif