Connection.cxx
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "Connection.hxx"
00023 #include "Signal.hxx"
00024
00025 namespace SigSlot
00026 {
00027
00028 Connection::Connection()
00029 : mMustFreeSignal(false), mConnectedSignal( NULL )
00030 {
00031 }
00032
00033 Connection::~Connection()
00034 {
00035 if ( mMustFreeSignal )
00036 mConnectedSignal->FreeConnection( this );
00037 }
00038
00039 Connection::Connection( tConnectionId id, Signal* connSig )
00040 : mMustFreeSignal( true ), mID( id ), mConnectedSignal( connSig )
00041 {
00042 }
00043
00044 Connection::Connection( const Connection& c )
00045 {
00046 mMustFreeSignal = c.mMustFreeSignal;
00047 mID = c.mID;
00048 mConnectedSignal = c.mConnectedSignal;
00049 c.mMustFreeSignal = false;
00050 }
00051
00052 Connection& Connection::operator=( Connection& s )
00053 {
00054 mMustFreeSignal = s.mMustFreeSignal;
00055 mID = s.mID;
00056 mConnectedSignal = s.mConnectedSignal;
00057 s.mMustFreeSignal = false;
00058
00059 return *this;
00060 }
00061
00062 }
00063