- Instead of implicitly registering and unregistering a service
instance on construction/destruction, DefaultNotificationService
now exports explicit Register()/Unregister() calls, which subclasses
are expected to call when they're ready.
- Adjust all implementing subclasses. Resolves an issue with deadlocks
when booting a DEBUG=1 build.
Also include the freebsd_network and freebsd_wlan headers. Their final
location and which of them to include in the first place might need some
adjustments.
* Add "bool kernel" parameter to vfs_entry_ref_to_path(), so it can be
specified for which I/O context the entry ref shall be translated.
* _user_entry_ref_to_path(): Use the calling team's I/O context instead
of the kernel's. Fixes the bug that in a chroot the syscall would
return a path for outside the chroot.
Use BNetworkDevice instead of using the driver settings api to get the
associated wireless network.
Also got rid of Settings::_PrepareRequest(), since it's no longer needed.
- Rename the current RangeSetting -> BoundedSetting and add an
appropriate setting type enum, since that one actually describes
a single value clamped to a range, rather than an actual range.
- Add RangeSetting class that has both a lower/upper bound and a pair
of values representing the lower and upper ends of the range currently
selected.
- Add several new optional hook functions to ValueNode. These
allow implementing subclasses to specify that they're a container
type that can export a range of items (i.e. arrays, lists, etc.),
and expose several operations on said ranges of child items.
Use BNetworkInterface and BNetworkInterfaceAddress in the Settings class
instead of using ioctls. This works for everything except the default
route, for which there is no API yet.
Equivalent to "jam <list of all hpkgs> && jam @... <list of all hpkgs>",
i.e. it makes sure all hpkgs that are supposed to be in the image are
rebuilt respectively downloaded and copied to the image. It doesn't
remove old packages nor the activation files -- that still has to be
done manually.
Download package files to install from the respective repositories and
use BDaemonClient to perform the package de-/activation. Still missing
is the interactive problem solution support.
* BActivationTransaction:
- Remove non-trivial constructor.
- Remove package list parameters from SetTo().
- Add AddPackageTo{Dea,A}ctivate().
* BDaemonClient:
- Add CreateTransaction(). It creates a transaction directory and
initializes a BActivationTransaction. Packages to de-/activate have
to be added afterwards.
- Add BCommitTransactionResult::FullErrorMessage().
* Wasn't using the toActivate and toDeactivate parameters, but the
attributes. Thus failed when called from the
CommitTransactionHandler.
* Volume::_ChangePackageActivation(): Fix debug output.