summaryrefslogtreecommitdiff
path: root/src/zmq.cpp
diff options
context:
space:
mode:
authorJon Dyte <jon@totient.co.uk>2010-04-07 08:20:01 +0200
committerMartin Sustrik <sustrik@250bpm.com>2010-04-07 08:20:01 +0200
commitedfd05df8ef58afc498795cb74906c07ee396f76 (patch)
tree8b9eb27265ffc16a170cfab8b912279c02dfd00f /src/zmq.cpp
parent0777567e8911382ac42859f907730df023ebec26 (diff)
devices can be created via API
Diffstat (limited to 'src/zmq.cpp')
-rw-r--r--src/zmq.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/zmq.cpp b/src/zmq.cpp
index 14898d5..3eb1306 100644
--- a/src/zmq.cpp
+++ b/src/zmq.cpp
@@ -24,6 +24,9 @@
#include <stdlib.h>
#include <new>
+#include "forwarder.hpp"
+#include "queue.hpp"
+#include "streamer.hpp"
#include "socket_base.hpp"
#include "app_thread.hpp"
#include "dispatcher.hpp"
@@ -628,6 +631,23 @@ int zmq_errno ()
return errno;
}
+int zmq_device (int device_, void *insocket_, void *outsocket_)
+{
+ switch (device_) {
+ case ZMQ_FORWARDER:
+ return zmq::forwarder ((zmq::socket_base_t*) insocket_,
+ (zmq::socket_base_t*) outsocket_);
+ case ZMQ_QUEUE:
+ return zmq::queue ((zmq::socket_base_t*) insocket_,
+ (zmq::socket_base_t*) outsocket_);
+ case ZMQ_STREAMER:
+ return zmq::streamer ((zmq::socket_base_t*) insocket_,
+ (zmq::socket_base_t*) outsocket_);
+ default:
+ return EINVAL;
+ }
+}
+
#if defined ZMQ_HAVE_WINDOWS
static uint64_t now ()