From edfd05df8ef58afc498795cb74906c07ee396f76 Mon Sep 17 00:00:00 2001 From: Jon Dyte Date: Wed, 7 Apr 2010 08:20:01 +0200 Subject: devices can be created via API --- src/zmq.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/zmq.cpp') 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 #include +#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 () -- cgit v1.2.3