2 * Copyright 2015, Axel Dörfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
5 #ifndef NETWORK_WATCHER_H
6 #define NETWORK_WATCHER_H
10 #include <ObjectList.h>
13 class NetworkListener
{
15 virtual ~NetworkListener();
17 virtual void NetworkAvailabilityChanged(bool available
) = 0;
21 class NetworkWatcher
: public BHandler
{
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
);
38 void UpdateAvailability();
41 BObjectList
<NetworkListener
>
47 #endif // NETWORK_WATCHER_H