Changeset 454bc54 for src/CodePatterns/Observer
- Timestamp:
- Oct 30, 2015, 11:43:01 AM (10 years ago)
- Children:
- e24dde
- Parents:
- 1b5188
- git-author:
- Frederik Heber <heber@…> (06/19/15 22:28:24)
- git-committer:
- Frederik Heber <heber@…> (10/30/15 11:43:01)
- Location:
- src/CodePatterns/Observer
- Files:
- 
      - 3 edited
 
 - 
          
  Notification.hpp (modified) (3 diffs)
- 
          
  Observable.hpp (modified) (3 diffs)
- 
          
  Relay.hpp (modified) (1 diff)
 
Legend:
- Unmodified
- Added
- Removed
- 
      src/CodePatterns/Observer/Notification.hppr1b5188 r454bc54 15 15 16 16 #include <set> 17 18 #include <boost/thread/recursive_mutex.hpp> 17 19 18 20 class Channels; … … 41 43 protected: 42 44 43 void addObserver(Observer *target );45 void addObserver(Observer *target, const int priority); 44 46 void removeObserver(Observer *target); 45 47 … … 73 75 74 76 private: 75 typedef std:: set<Observer*> targets_t;77 typedef std::multimap<int,Observer*> targets_t; 76 78 targets_t targets; 77 79 const size_t channelno; 80 81 mutable boost::recursive_mutex TargetsLock; //!< a lock for the pointer of the instance 78 82 }; 79 83 
- 
      src/CodePatterns/Observer/Observable.hppr1b5188 r454bc54 45 45 class Observable : public Observer { 46 46 public: 47 Observable(std::string _name); 47 //!> typedef for a vector of channels 48 typedef std::vector<size_t> channels_t; 49 50 Observable(std::string _name, const channels_t &_channels = channels_t()); 48 51 virtual ~Observable(); 49 52 … … 63 66 static range<int> ValidRange; 64 67 }; 68 69 private: 70 /** Helper class to create a unique increasing list. 71 * 72 */ 73 struct UniqueNumber 74 { 75 int operator()() 76 { return value++; } 77 int value; 78 }; 79 80 public: 81 static channels_t getChannelList(const size_t max); 65 82 66 83 /** … … 86 103 * Sign on for specialized notifications 87 104 */ 88 virtual void signOn(Observer *target, size_t channelno) const; 105 virtual void signOn( 106 Observer *target, 107 size_t channelno, 108 PriorityLevel priority = PriorityDefault) const; 89 109 90 110 /** 
- 
      src/CodePatterns/Observer/Relay.hppr1b5188 r454bc54 40 40 virtual void signOff(Observer *target) const; 41 41 42 virtual void signOn(Observer *target, size_t channelno ) const;42 virtual void signOn(Observer *target, size_t channelno, PriorityLevel priority = Observable::PriorityDefault) const; 43 43 44 44 virtual void signOff(Observer *target, size_t channelno) const; 
  Note:
 See   TracChangeset
 for help on using the changeset viewer.
  
