summaryrefslogtreecommitdiff
path: root/libs/ardour/test/test_receiver.h
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-02-15 13:48:53 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-02-15 13:48:53 +1000
commit964c04eec5f01a4d2a487dc6380173a01fd94aaa (patch)
treee469c5ecae2a910be6aac0fb7e39e5d86ab358eb /libs/ardour/test/test_receiver.h
parentd9b4c6be6a9366434f92b2ed8897a139ce4f9089 (diff)
Move TestReceiver class in libardour tests into own header file
Diffstat (limited to 'libs/ardour/test/test_receiver.h')
-rw-r--r--libs/ardour/test/test_receiver.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/libs/ardour/test/test_receiver.h b/libs/ardour/test/test_receiver.h
new file mode 100644
index 0000000000..e221c64ad4
--- /dev/null
+++ b/libs/ardour/test/test_receiver.h
@@ -0,0 +1,63 @@
+/*
+ Copyright (C) 2011 Paul Davis
+ Copyright (C) 2011 Tim Mayberry
+
+ This program 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 2 of the License, or (at your option)
+ any later version.
+
+ This program 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 this program; if not, write to the Free Software Foundation, Inc.,
+ 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#ifndef ARDOUR_TEST_RECEIVER_H
+#define ARDOUR_TEST_RECEIVER_H
+
+#include <iostream>
+
+#include "pbd/textreceiver.h"
+
+class TestReceiver : public Receiver
+{
+protected:
+ void receive (Transmitter::Channel chn, const char * str) {
+ const char *prefix = "";
+
+ switch (chn) {
+ case Transmitter::Error:
+ prefix = ": [ERROR]: ";
+ break;
+ case Transmitter::Info:
+ /* ignore */
+ return;
+ case Transmitter::Warning:
+ prefix = ": [WARNING]: ";
+ break;
+ case Transmitter::Fatal:
+ prefix = ": [FATAL]: ";
+ break;
+ case Transmitter::Throw:
+ /* this isn't supposed to happen */
+ abort ();
+ }
+
+ /* note: iostreams are already thread-safe: no external
+ lock required.
+ */
+
+ std::cout << prefix << str << std::endl;
+
+ if (chn == Transmitter::Fatal) {
+ exit (9);
+ }
+ }
+};
+
+#endif // ARDOUR_TEST_RECEIVER_H