1// NodeMonitor.h 2 3#ifndef NET_FS_NODE_MONITOR_H 4#define NET_FS_NODE_MONITOR_H 5 6#include <Looper.h> 7 8struct node_ref; 9class NodeMonitoringEvent; 10class NodeMonitorListener; 11 12// NodeMonitor 13class NodeMonitor : public BLooper { 14public: 15 NodeMonitor(NodeMonitorListener* listener); 16 virtual ~NodeMonitor(); 17 18 virtual void MessageReceived(BMessage* message); 19 20 status_t StartWatching(const node_ref& ref); 21 status_t StopWatching(const node_ref& ref); 22 23private: 24 status_t _IncreaseLimit(); 25 26private: 27 NodeMonitorListener* fListener; 28 int32 fCurrentNodeMonitorLimit; 29}; 30 31// NodeMonitorListener 32class NodeMonitorListener { 33public: 34 NodeMonitorListener(); 35 virtual ~NodeMonitorListener(); 36 37 virtual void ProcessNodeMonitoringEvent( 38 NodeMonitoringEvent* event) = 0; 39}; 40 41#endif // NET_FS_NODE_MONITOR_H 42