amend e09c620; now with semicolon :)
[ardour.git] / libs / pbd / pbd / destructible.h
index 241d847aff1940c526aed4d051e914d0963f37cd..78f6f83b7a894be476e6b21fa0c05c244a82b0c6 100644 (file)
 #ifndef __pbd_destructible_h__
 #define __pbd_destructible_h__
 
-#include <boost/signals2.hpp>
+#include "pbd/signals.h"
+#include "pbd/libpbd_visibility.h"
 
 namespace PBD {
 
-class Destructible {
+class LIBPBD_API Destructible {
   public:
-        Destructible() : refs_dropped (false){}
-       virtual ~Destructible () {}
+        Destructible() {}
+       virtual ~Destructible () { Destroyed(); }
        
-       boost::signals2::signal<void ()> GoingAway;
-       void drop_references () { if (!refs_dropped) { GoingAway(); } refs_dropped = true; }
+       PBD::Signal0<void> Destroyed;
+       PBD::Signal0<void> DropReferences;
 
-  private:
-       bool refs_dropped;
+       void drop_references () { DropReferences();  }
 };
 
 }