00001 /* 00002 * $Id: signalIF.h,v 1.2 2003/09/22 09:45:51 jmk Exp $ 00003 */ 00004 /////////////////////////////////////////////////////////////////////////// 00005 // _____________ ______________________ __ __ _____ 00006 // / ________ | | ___ ________ / | \ / \ | 00007 // | | | |_ | |_ | | / / \__ | | 00008 // | | ___ | || | || | | / / | | | 00009 // | | | \ | || | || | | / / \__/ \__/ __|__ 00010 // | | |_@ || || | || | | / / Institute 00011 // | |___/ || ||_| || | | / /_____________________ 00012 // \_______/ \______/ | |__| /___________________________ 00013 // | |__| | 00014 // \______/ 00015 // University of Utah 00016 // 2002 00017 // 00018 // By Joe Kniss, with help from Yarden Livnat 00019 /////////////////////////////////////////////////////////////////////////// 00020 00021 //signalIF.h 00022 00023 #ifndef __GUTZ_SIGNAL_INTERFACE_DOT_H 00024 #define __GUTZ_SIGNAL_INTERFACE_DOT_H 00025 00026 namespace gutz { 00027 00028 /////////////////////////////////////////////////////////////////////////// 00029 /// Signal interface, see gutz::Signal, NOT FOR GENERAL USE. (below). 00030 /// Users can ignore this class 00031 /////////////////////////////////////////////////////////////////////////// 00032 class SignalIF { 00033 public: 00034 SignalIF() {} 00035 virtual ~SignalIF() {} 00036 00037 /// detatch a slot, all references to it!!! 00038 /// The Signal<> class implements this 00039 /// and deletes all calls to pointers that match. 00040 /// Called by the "SignalTracker" object when 00041 /// someone declaring "HAS_SLOTS" destructs. 00042 virtual void detatchSlotIF(void const *callee) = 0; 00043 protected: 00044 }; 00045 00046 } // end namespace gutz 00047 00048 #endif 00049