00001 00002 #ifndef header_slot 00003 #define header_slot 00004 00005 #include "slot_generic.h" 00006 #include <stdlib.h> 00007 00008 class CL_Slot 00009 { 00011 public: 00012 CL_Slot() 00013 : impl(NULL) 00014 { 00015 } 00016 // Create an unconnected slot. 00017 00018 CL_Slot(const CL_Slot ©) 00019 : impl(copy.impl) 00020 { 00021 if (impl != NULL) impl->add_ref(); 00022 } 00023 // Copy a slot. 00024 00025 ~CL_Slot() 00026 { 00027 if (impl != NULL) impl->release_ref(); 00028 } 00029 00030 void operator =(const CL_Slot ©) 00031 { 00032 if (impl) impl->release_ref(); 00033 impl = copy.impl; 00034 if (impl) impl->add_ref(); 00035 } 00036 00038 public: 00039 CL_Slot(CL_Slot_Generic *impl) 00040 : impl(impl) 00041 { 00042 if (impl != NULL) impl->add_ref(); 00043 } 00044 00045 CL_Slot_Generic *impl; 00046 }; 00047 00048 #endif
1.2.6 written by Dimitri van Heesch,
© 1997-2001