BNetworkSettings: added const, server IsRunning() method.
* Get{Interface|Network|Service}() methods are now const.
* Added variants of Interface(), and Service() that are const.
* Added new BNetworkServiceSettings::IsRunning() convenience method that
reflects the status quo rather than the settings.
This commit is contained in:
@@ -38,28 +38,33 @@ public:
|
|||||||
status_t GetNextInterface(uint32& cookie,
|
status_t GetNextInterface(uint32& cookie,
|
||||||
BMessage& interface);
|
BMessage& interface);
|
||||||
status_t GetInterface(const char* name,
|
status_t GetInterface(const char* name,
|
||||||
BMessage& interface);
|
BMessage& interface) const;
|
||||||
status_t AddInterface(const BMessage& interface);
|
status_t AddInterface(const BMessage& interface);
|
||||||
status_t RemoveInterface(const char* name);
|
status_t RemoveInterface(const char* name);
|
||||||
BNetworkInterfaceSettings
|
BNetworkInterfaceSettings
|
||||||
Interface(const char* name);
|
Interface(const char* name);
|
||||||
|
const BNetworkInterfaceSettings
|
||||||
|
Interface(const char* name) const;
|
||||||
|
|
||||||
int32 CountNetworks() const;
|
int32 CountNetworks() const;
|
||||||
status_t GetNextNetwork(uint32& cookie,
|
status_t GetNextNetwork(uint32& cookie,
|
||||||
BMessage& network) const;
|
BMessage& network) const;
|
||||||
status_t GetNetwork(const char* name,
|
status_t GetNetwork(const char* name,
|
||||||
BMessage& network);
|
BMessage& network) const;
|
||||||
status_t AddNetwork(const BMessage& network);
|
status_t AddNetwork(const BMessage& network);
|
||||||
status_t RemoveNetwork(const char* name);
|
status_t RemoveNetwork(const char* name);
|
||||||
|
|
||||||
const BMessage& Services() const;
|
const BMessage& Services() const;
|
||||||
status_t GetNextService(uint32& cookie,
|
status_t GetNextService(uint32& cookie,
|
||||||
BMessage& service);
|
BMessage& service);
|
||||||
status_t GetService(const char* name, BMessage& service);
|
status_t GetService(const char* name,
|
||||||
|
BMessage& service) const;
|
||||||
status_t AddService(const BMessage& service);
|
status_t AddService(const BMessage& service);
|
||||||
status_t RemoveService(const char* name);
|
status_t RemoveService(const char* name);
|
||||||
BNetworkServiceSettings
|
BNetworkServiceSettings
|
||||||
Service(const char* name);
|
Service(const char* name);
|
||||||
|
const BNetworkServiceSettings
|
||||||
|
Service(const char* name) const;
|
||||||
|
|
||||||
status_t StartMonitoring(const BMessenger& target);
|
status_t StartMonitoring(const BMessenger& target);
|
||||||
status_t StopMonitoring(const BMessenger& target);
|
status_t StopMonitoring(const BMessenger& target);
|
||||||
@@ -84,10 +89,10 @@ private:
|
|||||||
status_t _ConvertNetworkToSettings(BMessage& message);
|
status_t _ConvertNetworkToSettings(BMessage& message);
|
||||||
status_t _ConvertNetworkFromSettings(BMessage& message);
|
status_t _ConvertNetworkFromSettings(BMessage& message);
|
||||||
|
|
||||||
status_t _GetItem(BMessage& container,
|
status_t _GetItem(const BMessage& container,
|
||||||
const char* itemField,
|
const char* itemField,
|
||||||
const char* nameField, const char* name,
|
const char* nameField, const char* name,
|
||||||
int32& _index, BMessage& item);
|
int32& _index, BMessage& item) const;
|
||||||
status_t _RemoveItem(BMessage& container,
|
status_t _RemoveItem(BMessage& container,
|
||||||
const char* itemField,
|
const char* itemField,
|
||||||
const char* nameField, const char* name,
|
const char* nameField, const char* name,
|
||||||
@@ -262,6 +267,8 @@ public:
|
|||||||
BNetworkServiceAddressSettings& address);
|
BNetworkServiceAddressSettings& address);
|
||||||
void RemoveAddress(int32 index);
|
void RemoveAddress(int32 index);
|
||||||
|
|
||||||
|
bool IsRunning() const;
|
||||||
|
|
||||||
status_t GetMessage(BMessage& data) const;
|
status_t GetMessage(BMessage& data) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
#include <String.h>
|
#include <String.h>
|
||||||
|
|
||||||
#include <DriverSettingsMessageAdapter.h>
|
#include <DriverSettingsMessageAdapter.h>
|
||||||
|
#include <NetServer.h>
|
||||||
|
|
||||||
|
|
||||||
using namespace BNetworkKit;
|
using namespace BNetworkKit;
|
||||||
@@ -318,7 +319,7 @@ BNetworkSettings::GetNextInterface(uint32& cookie, BMessage& interface)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
BNetworkSettings::GetInterface(const char* name, BMessage& interface)
|
BNetworkSettings::GetInterface(const char* name, BMessage& interface) const
|
||||||
{
|
{
|
||||||
int32 index;
|
int32 index;
|
||||||
return _GetItem(fInterfaces, "interface", "device", name, index, interface);
|
return _GetItem(fInterfaces, "interface", "device", name, index, interface);
|
||||||
@@ -359,6 +360,15 @@ BNetworkSettings::Interface(const char* name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const BNetworkInterfaceSettings
|
||||||
|
BNetworkSettings::Interface(const char* name) const
|
||||||
|
{
|
||||||
|
BMessage interface;
|
||||||
|
GetInterface(name, interface);
|
||||||
|
return BNetworkInterfaceSettings(interface);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int32
|
int32
|
||||||
BNetworkSettings::CountNetworks() const
|
BNetworkSettings::CountNetworks() const
|
||||||
{
|
{
|
||||||
@@ -383,7 +393,7 @@ BNetworkSettings::GetNextNetwork(uint32& cookie, BMessage& network) const
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
BNetworkSettings::GetNetwork(const char* name, BMessage& network)
|
BNetworkSettings::GetNetwork(const char* name, BMessage& network) const
|
||||||
{
|
{
|
||||||
int32 index;
|
int32 index;
|
||||||
return _GetItem(fNetworks, "network", "name", name, index, network);
|
return _GetItem(fNetworks, "network", "name", name, index, network);
|
||||||
@@ -435,7 +445,7 @@ BNetworkSettings::GetNextService(uint32& cookie, BMessage& service)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
BNetworkSettings::GetService(const char* name, BMessage& service)
|
BNetworkSettings::GetService(const char* name, BMessage& service) const
|
||||||
{
|
{
|
||||||
int32 index;
|
int32 index;
|
||||||
return _GetItem(fServices, "service", "name", name, index, service);
|
return _GetItem(fServices, "service", "name", name, index, service);
|
||||||
@@ -476,6 +486,15 @@ BNetworkSettings::Service(const char* name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const BNetworkServiceSettings
|
||||||
|
BNetworkSettings::Service(const char* name) const
|
||||||
|
{
|
||||||
|
BMessage service;
|
||||||
|
GetService(name, service);
|
||||||
|
return BNetworkServiceSettings(service);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
BNetworkSettings::StartMonitoring(const BMessenger& target)
|
BNetworkSettings::StartMonitoring(const BMessenger& target)
|
||||||
{
|
{
|
||||||
@@ -835,8 +854,9 @@ BNetworkSettings::_ConvertNetworkFromSettings(BMessage& message)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
BNetworkSettings::_GetItem(BMessage& container, const char* itemField,
|
BNetworkSettings::_GetItem(const BMessage& container, const char* itemField,
|
||||||
const char* nameField, const char* name, int32& _index, BMessage& item)
|
const char* nameField, const char* name, int32& _index,
|
||||||
|
BMessage& item) const
|
||||||
{
|
{
|
||||||
int32 index = 0;
|
int32 index = 0;
|
||||||
while (container.FindMessage(itemField, index, &item) == B_OK) {
|
while (container.FindMessage(itemField, index, &item) == B_OK) {
|
||||||
@@ -1662,6 +1682,25 @@ BNetworkServiceSettings::RemoveAddress(int32 index)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*! This is a convenience method that returns the current state of the
|
||||||
|
service, independent of the current settings.
|
||||||
|
*/
|
||||||
|
bool
|
||||||
|
BNetworkServiceSettings::IsRunning() const
|
||||||
|
{
|
||||||
|
BMessage request(kMsgIsServiceRunning);
|
||||||
|
request.AddString("name", fName);
|
||||||
|
|
||||||
|
BMessenger networkServer(kNetServerSignature);
|
||||||
|
BMessage reply;
|
||||||
|
status_t status = networkServer.SendMessage(&request, &reply);
|
||||||
|
if (status == B_OK)
|
||||||
|
return reply.GetBool("running");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
BNetworkServiceSettings::GetMessage(BMessage& data) const
|
BNetworkServiceSettings::GetMessage(BMessage& data) const
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user