3 Copyright (c) 2012 Jakob Leben & Tim Blechmann
4 http://www.audiosynth.com
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 #ifndef SCIDE_SIG_MUX_HPP_INCLUDED
22 #define SCIDE_SIG_MUX_HPP_INCLUDED
30 class SignalMultiplexer
: public QObject
35 SignalMultiplexer(QObject
*parent
= 0);
37 void connect(QObject
*sender
, const char *signal
, const char *slot
);
38 bool disconnect(QObject
*sender
, const char *signal
, const char *slot
);
39 void connect(const char *signal
, QObject
*receiver
, const char *slot
);
40 bool disconnect(const char *signal
, QObject
*receiver
, const char *slot
);
42 QObject
*currentObject() const { return mObject
; }
45 void setCurrentObject(QObject
*newObject
);
50 QPointer
<QObject
> sender
;
51 QPointer
<QObject
> receiver
;
56 void connect(const Connection
&conn
);
57 void disconnect(const Connection
&conn
);
59 QPointer
<QObject
> mObject
;
60 QList
<Connection
> mConnections
;