vfs: check userland buffers before reading them.
[haiku.git] / src / servers / launch / NetworkWatcher.h
blobe2a6ff66cfb9697eda2b3b4200bc512cdf9cbbe1
1 /*
2 * Copyright 2015, Axel Dörfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef NETWORK_WATCHER_H
6 #define NETWORK_WATCHER_H
9 #include <Handler.h>
10 #include <ObjectList.h>
13 class NetworkListener {
14 public:
15 virtual ~NetworkListener();
17 virtual void NetworkAvailabilityChanged(bool available) = 0;
21 class NetworkWatcher : public BHandler {
22 public:
23 NetworkWatcher();
24 virtual ~NetworkWatcher();
26 void AddListener(NetworkListener* listener);
27 void RemoveListener(NetworkListener* listener);
28 int32 CountListeners() const;
30 virtual void MessageReceived(BMessage* message);
32 static void Register(NetworkListener* listener);
33 static void Unregister(NetworkListener* listener);
35 static bool NetworkAvailable(bool immediate);
37 protected:
38 void UpdateAvailability();
40 protected:
41 BObjectList<NetworkListener>
42 fListeners;
43 bool fAvailable;
47 #endif // NETWORK_WATCHER_H