Subject: [RFC] DBUS interface to Linux WiMax stack.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2008-12-11 at 08:41 -0800, Dirk Brandewie wrote:
> Hi Everyone,
> 
> The attached files represent a proposed dbus based API to access the
> Linux WiMax stack.  This proposal is the result of a number of
> discussions over the last few months at OLS and the plumbers
> conference. 
> 
> Overview:
> There are two object types used to access the WiMax stack the adapter
> and network object.  
> 
> The adapter (adapter-api.txt) object is created when the hardware
> device is discovered in the system. This object is used to control the
> state of the adapter and the process of scanning for available
> networks.
> 
> The network (network-api.txt) object is created when a network is
> discovered via the adapter.Scan() method.  This object is used to
> control the state and report information about available network
> connections. 
> 
> There is one helper agent (agent-api.txt) that is meant to call out to
> gather user credentials i.e.(username, password).  The current file is
> just a placeholder.
> 
> Comments and suggestions gratefully accepted.

One general comment before I go through it in more detail.  The methods
dealing with Properties are redundant, since there's a standard D-Bus
interface specification for object properties.  Check out:

http://dbus.freedesktop.org/doc/dbus-specification.html

and look for the "org.freedesktop.DBus.Properties" section.  I'll copy
it here since it's so short:

-------------------------------------------------------

org.freedesktop.DBus.Properties

Many native APIs will have a concept of object properties or attributes.
These can be exposed via the org.freedesktop.DBus.Properties interface. 

              org.freedesktop.DBus.Properties.Get (in STRING interface_name,
                                                   in STRING property_name,
                                                   out VARIANT value);
              org.freedesktop.DBus.Properties.Set (in STRING interface_name,
                                                   in STRING property_name,
                                                   in VARIANT value);
              org.freedesktop.DBus.Properties.GetAll (in STRING interface_name,
                                                      out DICT<STRING,VARIANT> props);

The available properties and whether they are writable can be determined
by calling org.freedesktop.DBus.Introspectable.Introspect, see the
section called ?org.freedesktop.DBus.Introspectable?. 

An empty string may be provided for the interface name; in this case, if
there are multiple properties on an object with the same name, the
results are undefined (picking one by according to an arbitrary
deterministic rule, or returning an error, are the reasonable
possibilities). 

-------------------------------------------------------

There isn't yet a PropertiesChanged signal, but that's something that we
should all standardize on, and just add to the D-Bus specification.
It's been discussed upstream before, but nobody has quite gotten around
to proposing it.  I need it for NetworkManager, David Zeuthen needs it
for HAL/DeviceKit, and it's generally useful.  So lets just standardize
a PropertiesChanged signal format, and I'll take the task of getting it
into the D-Bus spec.

Note that none of the calls/signals on this interface require changes to
D-Bus, they are implemented in the services and clients that use D-Bus
as the IPC mechanism, and thus will work on all existing systems.

Dan



[Index of Archives]     [Linux Kernel]     [Linux Wireless]     [Linux Bluetooth]     [Linux Netdev]     [Linux Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux