// NodeMonitor.h #ifndef NET_FS_NODE_MONITOR_H #define NET_FS_NODE_MONITOR_H #include struct node_ref; class NodeMonitoringEvent; class NodeMonitorListener; // NodeMonitor class NodeMonitor : public BLooper { public: NodeMonitor(NodeMonitorListener* listener); virtual ~NodeMonitor(); virtual void MessageReceived(BMessage* message); status_t StartWatching(const node_ref& ref); status_t StopWatching(const node_ref& ref); private: status_t _IncreaseLimit(); private: NodeMonitorListener* fListener; int32 fCurrentNodeMonitorLimit; }; // NodeMonitorListener class NodeMonitorListener { public: NodeMonitorListener(); virtual ~NodeMonitorListener(); virtual void ProcessNodeMonitoringEvent( NodeMonitoringEvent* event) = 0; }; #endif // NET_FS_NODE_MONITOR_H