diff options
author | Doug McLain <doug@nostar.net> | 2008-06-02 05:02:28 +0000 |
---|---|---|
committer | Doug McLain <doug@nostar.net> | 2008-06-02 05:02:28 +0000 |
commit | 9c0d7d72d70082a54f823cd44c0ccda5da64bb6f (patch) | |
tree | 96ec400b83b8c1c06852b1936f684b5fbcd47a79 /libs/pbd/pbd/transmitter.h | |
parent | 2f3f697bb8e185eb43c2c50b4eefc2bcb937f269 (diff) |
remove empty sigc++2 directory
git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd/pbd/transmitter.h')
-rw-r--r-- | libs/pbd/pbd/transmitter.h | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/libs/pbd/pbd/transmitter.h b/libs/pbd/pbd/transmitter.h deleted file mode 100644 index 61ac9bd8d8..0000000000 --- a/libs/pbd/pbd/transmitter.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - Copyright (C) 1998-99 Paul Barton-Davis - - 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 __libmisc_transmitter_h__ -#define __libmisc_transmitter_h__ - -#include <sstream> -#include <iostream> - -#include <sigc++/sigc++.h> - -using std::cout; -using std::cerr; -using std::endl; - -class Transmitter : public std::stringstream - -{ - public: - enum Channel { - Info, - Error, - Warning, - Fatal, - Throw - }; - - Transmitter (Channel); - - sigc::signal<void,Channel, const char *> &sender() { - return *send; - } - - bool does_not_return (); - - protected: - virtual void deliver (); - friend std::ostream& endmsg (std::ostream &); - - private: - Channel channel; - sigc::signal<void, Channel, const char *> *send; - - sigc::signal<void, Channel, const char *> info; - sigc::signal<void, Channel, const char *> warning; - sigc::signal<void, Channel, const char *> error; - sigc::signal<void, Channel, const char *> fatal; -}; - -/* for EGCS 2.91.66, if this function is not compiled within the same - compilation unit as the one where a ThrownError is thrown, then - nothing will catch the error. This is a pretty small function, so - inlining it here seems like a reasonable workaround. -*/ - -inline std::ostream & -endmsg (std::ostream &ostr) - -{ - Transmitter *t; - - /* There is a serious bug in the Cygnus/GCC libstdc++ library: - cout is not actually an ostream, but a trick was played - to make the compiler think that it is. This will cause - the dynamic_cast<> to fail with SEGV. So, first check to - see if ostr == cout, and handle it specially. - */ - - if (&ostr == &cout) { - cout << endl; - return ostr; - } else if (&ostr == &cerr) { - cerr << endl; - return ostr; - } - - if ((t = dynamic_cast<Transmitter *> (&ostr)) != 0) { - t->deliver (); - } else { - /* hmm. not a Transmitter, so just put a newline on - it and assume that that will be enough. - */ - - ostr << endl; - } - - return ostr; -} - - -extern "C" { void pbd_c_error (const char *); } - -#endif // __libmisc_transmitter_h__ |