Watcher
fWatcherThread = spawn_thread(Watcher, threadName,
static status_t Watcher(void* arg);
Watcher* watcher = sWatchers->Lookup(target);
watcher = Watcher::Create(target);
Watcher* watcher = sWatchers->Lookup(target);
Watcher* watcher = sWatchers->Lookup(target);
static Watcher* Create(const BMessenger& target)
Watcher* watcher = new(std::nothrow) Watcher(target);
Watcher*& HashNext()
Watcher* fHashNext;
typedef Watcher ValueType;
size_t Hash(Watcher* value) const
bool Compare(const BMessenger& key, Watcher* value) const
Watcher*& GetLink(Watcher* value) const
EventMaskWatcherFilter::Filter(Watcher *watcher, BMessage *message)
: Watcher(target),
class EventMaskWatcher : public Watcher {
virtual bool Filter(Watcher *watcher, BMessage *message);
Watcher* watcher = new(std::nothrow) EventMaskWatcher(target, eventMask);
TRoster::AddWatcher(Watcher* watcher)
TRoster::RemoveWatcher(Watcher* watcher)
Watcher* watcher = new(nothrow) EventMaskWatcher(target, events);
status_t AddWatcher(Watcher* watcher);
void RemoveWatcher(Watcher* watcher);
WatcherFilter::Filter(Watcher *watcher, BMessage *message)
Watcher::Watcher(const BMessenger &target)
Watcher::~Watcher()
Watcher::Target() const
Watcher::SendMessage(BMessage *message)
class Watcher {
Watcher(const BMessenger &target);
virtual ~Watcher();
virtual bool Filter(Watcher *watcher, BMessage *message);
WatchingService::AddWatcher(Watcher *watcher)
return AddWatcher(new(nothrow) Watcher(target));
WatchingService::RemoveWatcher(Watcher *watcher, bool deleteWatcher)
Watcher *watcher = it->second;
Watcher *watcher = (Watcher*)staleWatchers.ItemAt(i);
class Watcher;
bool AddWatcher(Watcher *watcher);
bool RemoveWatcher(Watcher *watcher, bool deleteWatcher = true);
typedef std::map<BMessenger,Watcher*> watcher_map;
BHandler Watcher;
fHandler.StartWatching(&Watcher, '1234');
fHandler.StopWatching(&Watcher, '1234');
BHandler Watcher;
fHandler.StartWatching(&Watcher, '1234');
fHandler.StopWatching(&Watcher, '1234');
BHandler Watcher;
fHandler.StopWatching(&Watcher, '1234');
BHandler Watcher;
fHandler.StartWatching(&Watcher, '1234');
fHandler.StopWatching(&Watcher, '1234');