|
From: Frank M. H. <fm...@us...> - 2007-02-21 20:28:18
|
Update of /cvsroot/boost-sandbox/boost-sandbox/boost/thread_safe_signals In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25834/thread_safe_signals Modified Files: connection.hpp slot.hpp Log Message: Made add_tracked() a public member of the slot class, so arbitrary objects can be added for the purpose of automatic connection management. Index: connection.hpp =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/boost/thread_safe_signals/connection.hpp,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- connection.hpp 18 Feb 2007 22:47:18 -0000 1.17 +++ connection.hpp 21 Feb 2007 20:28:14 -0000 1.18 @@ -121,9 +121,7 @@ } const GroupKey& group_key() const {return _group_key;} void set_group_key(const GroupKey &key) {_group_key = key;} - /* base class mutex should be locked and nolock_nograb_blocked() checked - before slot is called, to prevent races - with connect() and disconnect() */ + const SlotFunction slot; mutable mutex_type mutex; private: Index: slot.hpp =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/boost/thread_safe_signals/slot.hpp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- slot.hpp 17 Feb 2007 03:12:22 -0000 1.11 +++ slot.hpp 21 Feb 2007 20:28:14 -0000 1.12 @@ -97,13 +97,14 @@ friend class signalslib::detail::tracked_objects_visitor; template<typename GroupKey, typename SlotFunction> friend class ConnectionBody; - private: - typedef std::vector<boost::weak_ptr<void> > tracked_objects_container; void add_tracked(const shared_ptr<void> &tracked) { _trackedObjects.push_back(tracked); } + private: + typedef std::vector<boost::weak_ptr<void> > tracked_objects_container; + const tracked_objects_container& get_all_tracked() const {return _trackedObjects;} tracked_objects_container _trackedObjects; |