aboutsummaryrefslogtreecommitdiffstats
path: root/src/OutputZeroMQ.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2015-01-23 10:18:17 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2015-01-23 10:51:26 +0100
commite12c679b8cc8a263507c556cb24819dc0d5559b9 (patch)
tree8f2cd06710d15ca64a4a86c1ce52bc975ec3f2b0 /src/OutputZeroMQ.h
parentd82422fbb3d9d34a0566197245376548ce3ef14e (diff)
parent94c1f63b6fd07d74f3325274dd19fd6beaf53965 (diff)
downloaddabmod-e12c679b8cc8a263507c556cb24819dc0d5559b9.tar.gz
dabmod-e12c679b8cc8a263507c556cb24819dc0d5559b9.tar.bz2
dabmod-e12c679b8cc8a263507c556cb24819dc0d5559b9.zip
Merge raspine's ZeroMQ RC and UHD staticdelay
Merge raspine/master pull request, fix indentation, code style, and two minor conflicts in: doc/example.ini src/DabMod.cpp
Diffstat (limited to 'src/OutputZeroMQ.h')
-rw-r--r--src/OutputZeroMQ.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/OutputZeroMQ.h b/src/OutputZeroMQ.h
new file mode 100644
index 0000000..1c48fe7
--- /dev/null
+++ b/src/OutputZeroMQ.h
@@ -0,0 +1,60 @@
+/*
+ Copyright (C) 2007, 2008, 2009, 2010, 2011 Her Majesty the Queen in
+ Right of Canada (Communications Research Center Canada)
+
+ Copyright (C) 2014
+ Matthias P. Braendli, matthias.braendli@mpb.li
+
+ http://opendigitalradio.org
+ */
+/*
+ This file is part of ODR-DabMod.
+
+ ODR-DabMod is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ ODR-DabMod is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with ODR-DabMod. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef OUTPUT_ZEROMQ_H
+#define OUTPUT_ZEROMQ_H
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#if defined(HAVE_OUTPUT_ZEROMQ)
+
+#include "ModOutput.h"
+#include "zmq.hpp"
+
+class OutputZeroMQ : public ModOutput
+{
+ public:
+ OutputZeroMQ(std::string endpoint, Buffer* dataOut = NULL);
+ virtual ~OutputZeroMQ();
+ virtual int process(Buffer* dataIn, Buffer* dataOut);
+ const char* name() { return m_name.c_str(); }
+
+ protected:
+ zmq::context_t m_zmq_context; // handle for the zmq context
+ zmq::socket_t m_zmq_pub_sock; // handle for the zmq publisher socket
+
+ std::string m_endpoint; // On which port to listen: e.g.
+ // tcp://*:58300
+
+ std::string m_name;
+};
+
+#endif // HAVE_OUTPUT_ZEROMQ_H
+
+#endif // OUTPUT_ZEROMQ_H
+