- Jun 07, 2023
-
-
Sudarshan CP authored
Signed-off-by:
Sudarshan CP <sudarshan.cp2@in.bosch.com>
-
- Oct 27, 2022
-
-
Siva Krishna Prasad Chinthalapudi authored
Enabling polkitdetails Signed-off-by:
SivaKrishnaPrasad <sivakrishnaprasad.chinthalapudi@in.bosch.com>
-
- Aug 22, 2022
-
-
Detlev Casanova authored
The auto-generated sgml file has a role attribute for the api-index entries. gtkdoc-mkhtml does not understand the role attribute and skips the generation of the api-index HTML files, which creates invalid links in the final documentation. Signed-off-by:
Detlev Casanova <detlev.casanova@collabora.com>
-
- Aug 11, 2022
-
-
Detlev Casanova authored
This is necessary to allow the gtk-doc check to not fail. The gtk-doc check is run at the check step to verify that everything is documented. This is useful to avoid forgetting documentation when modifying the code. Signed-off-by:
Detlev Casanova <detlev.casanova@collabora.com>
-
Detlev Casanova authored
The documentation is parsed from the source files and converted to HTML by gtk-doc. Signed-off-by:
Detlev Casanova <detlev.casanova@collabora.com>
-
- Jun 22, 2022
-
-
Signed-off-by:
Akshay M <M.Akshay@in.bosch.com>
-
- Jun 29, 2020
-
-
Rhosydd VSS implementation VSS data model - review2 changes
-
- Mar 06, 2019
-
-
Gustavo Noronha Silva authored
-
Gustavo Noronha Silva authored
Take advantage of the new capabilities of gdbus-codegen to generate only the interface information.
-
- May 25, 2017
-
-
Simon McVittie authored
Signed-off-by:
Simon McVittie <smcv@collabora.com> Reviewed-by:
Emanuele Aina <emanuele.aina@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D6640
-
- Nov 14, 2016
-
-
The following issue types were raised by hotdoc: * Invalid plural links: hotdoc does not know how to pluralize symbols such as `#RsdSubscription`. * Invalid inter-documentation links: hotdoc does not yet install symbol databases, links to other documentation symbols are only possible when the link target is documented by gtk-doc. * Invalid function links, for example when referring to a user-provided `main()` function. Signed-off-by:
Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> Signed-off-by:
Andrew Shadura <andrew.shadura@collabora.co.uk> Reviewed-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D4490
-
- Aug 12, 2016
-
-
Mathieu Duponchelle authored
+ Use the hotdoc autotools helpers This requires using -Wno-portability in the call to AM_INIT_AUTOMAKE, as discussed with Simon it's a reasonable requirement for using the hotdoc.mk fragment Makefile. The produced html is now cleanly installable and uninstallable. + Make documentation build parallel for croesor and rhosydd The issue preventing this is fixed upstream, although in a different manner than the linked github issue proposed. + Remove distribution of the generated documentation Distributing build products in the source tarball is a bad practice, and there's no compelling reason for doing this in Apertis libraries. + Use a sitemap This means subpages do not need to be linked and updated in markdown files. + Enable ‘smart index’ + Enable devhelp books generation + Update the debian files + remove build-depends on hotdoc-dbus-extension, not sure why it was added in the first place. Using this new feature of hotdoc means we no longer need to maintain potentially huge lists of symbols in the markdown files. As desired by Philip, we now pass the C sources to hotdoc in the Makefile, which means the source list does not need updating. However, combined with smart-index, this means every public symbol is now exposed in the documentation. Subsequent patches should filter out potentially undesirable files or symbols, this requires more in-depth knowledge of the project than I currently possess. Signed-off-by:
Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> Differential Revision: https://phabricator.apertis.org/D3784
-
Mathieu Duponchelle authored
This is not yet supported by hotdoc. Signed-off-by:
Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> Differential Revision: https://phabricator.apertis.org/D3793
-
Mathieu Duponchelle authored
The syntax for linking to a recognized symbol is [](symbol-name), not [symbol-name](). Signed-off-by:
Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> Differential Revision: https://phabricator.apertis.org/D3782
-
- Jun 29, 2016
-
-
Philip Withnall authored
• Replace UNRELEASED with 0.4.0 in documentation • Update symbols files to include all 0.4.0 symbols • Bump library SONAME, rename packages accordingly • Update NEWS Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3534
-
- Jun 28, 2016
-
-
Philip Withnall authored
Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3519
-
Philip Withnall authored
The code which references it is in libcroesor. For comparison, the example .rules files remain in the daemon directory, as the policies they implement are relevant only to the daemon’s use of our polkit actions. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3515
-
Philip Withnall authored
It does not make sense for a wildcard subscription to restrict its signal emissions by period — a period criterion can only apply to a single attribute, otherwise we can end up with pathological cases where one attribute is emitted often enough to cause rate limiting; and all other attributes are emitted rarely enough to be accidentally dropped on one of the attribute emissions which is rate limited. RsdSubscription is not set up to allow the emission rates for each attribute to be tracked individually, which is what’s needed to implement period criteria for wildcard attributes properly. Instead, acknowledge that if the client has chosen to use a wildcard, they aren’t particularly fussy about what attributes they receive, and just give them everything, with no period limiting. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3509
-
Philip Withnall authored
Test that the new utility functions in libcroesor work correctly; and add an integration test for end-to-end unicast signalling. Note that this requires the teardown check in integration.py to be removed as it was failing. I have not investigated this yet; disabling it for now is fairly harmless, but in the long run it should be investigated to see whether it’s possible to describe the system’s behaviour down to individual main context iterations, or whether that’s not worth pursuing. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3507
-
Philip Withnall authored
Instead of broadcast signals. This should reduce wakeups for clients when attributes they have not subscribed to change value. It should not increase context switching overhead as the unicast signals should end up being batched in the D-Bus daemon’s buffer for the connection with the Rhosydd daemon. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3506
-
Philip Withnall authored
It was never set anywhere. I think it’s a remnant from gnome-common. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3420
-
Philip Withnall authored
This allows its clock domain to be controlled (rather than being hard-coded to g_get_monotonic_time()). This will be useful for unit testing, and is not expected to be used in production code. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3418
-
Philip Withnall authored
Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3416
-
Philip Withnall authored
This will be useful for some new unit tests for VddAggregateVehicle, to be added in a later commit. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3415
-
Philip Withnall authored
This should not not result in any behavioural change. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3409
-
Philip Withnall authored
Merge the logging headers from the various parts of the codebase into a single header in libinternal. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3408
-
Philip Withnall authored
Each vehicle has its own clock domain, which all timestamps for attributes from that vehicle are relative to. This means that the timestamps for two attributes from a given vehicle can be compared to see which was updated more recently (and how much more recently, in microseconds). However, there was previously no way to compare timestamps between vehicles, or to compare the timestamp for a given attribute to the current time. Given that the clock domain for a vehicle could differ arbitrarily from the system clock domain (g_get_monotonic_time()), this meant that clients could never work out how long ago (in system clock terms) an attribute was modified. Fix that by exposing the current time in the vehicle’s clock domain with the return value from each RsdVehicle getter which returns a property or property metadata. This allows each attribute in those results to be compared to the clock at the time of returning the results, to find out how old that attribute value is, in microseconds. This patch deliberately does not expose the current value of each vehicle’s clock domain as a value by itself (for example, as a get_current_time() method) as that would both tempt clients to poll it, and would introduce unavoidable race conditions between getting the current time and getting a set of attributes. This breaks a lot of API. The implementation in VddAggregateVehicle is worth paying attention to when reviewing, as it needs to aggregate attributes from multiple vehicles into a single aggregate vehicle. That means adjusting their last-updated times to be in a single aggregate clock domain. This is done by defining the aggregate clock domain to be g_get_monotonic_time() and tracking the difference between that and each of the source vehicles’ clocks with each value returned from those source vehicles. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3407
-
- Jun 24, 2016
-
-
Philip Withnall authored
The original implementation of CsrPeerManager always did a CbyProcessInfo lookup and a polkit check for authorisation requests it received, and was used in both the daemon and the backends. This resulted in the backends doing a polkit check for each request they received from the daemon, which seems a bit redundant, slows things down, and complicates reasoning about the security model and polkit rules. Instead, turn CsrPeerManager into an interface with two implementations: • CsrBackendManager, for use by the backends. It tracks a single peer – the daemon – and accepts all authorisation requests from it after authenticating it using its AppArmor label. • VddPeerManager, for use by the daemon. Its implementation is identical to the old CsrPeerManager implementation, modulo changes to get it to implement the interface. It tracks all peers, and does polkit checks for all authorisation requests. Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3200
-
- May 27, 2016
-
-
Philip Withnall authored
It was copypasta. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3281
-
- May 26, 2016
-
-
Philip Withnall authored
• Replace UNRELEASED with 0.3.0 in documentation • Update symbols files to include all 0.3.0 symbols • Bump library SONAME, rename packages accordingly • Update NEWS Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk>
-
- May 19, 2016
-
-
Philip Withnall authored
When the CsrVehicleService changes the set of vehicles it’s advertising, it should emit InterfacesAdded or InterfacesRemoved, as per the specification for org.freedesktop.DBus.ObjectManager. Otherwise clients cannot be aware that a vehicle has been added or removed. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3186
-
Philip Withnall authored
Rather than using an array of vehicle ID strings. This makes the method consistent with other methods which handle arrays of added and removed objects, and also consistent with how its callers were using it (whoops). Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3185
-
Philip Withnall authored
This was causing the most recent 4K of log messages to get caught up in the buffer, and hence they were not visible on `journalctl -f -u rhosydd.service` (similarly for the backends). This makes debugging quite hard. Disable buffering on stdout and stderr to ameliorate this. This shouldn’t be necessary once we move to journald structured logging, but we haven’t done that yet. This should not cause performance problems as the daemons and backends do not output anything to stdout or stderr except debug messages and the occasional warning or error output. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3184
-
Philip Withnall authored
Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3183
-
Philip Withnall authored
For some of the upcoming code changes to consistently handle vehicles as objects rather than sometimes as objects and sometimes as string IDs, it’s necessary to have a construct-time ID for VddAggregateVehicle which doesn’t depend on any of the aggregated vehicles. The tidiest way to implement this is as a property on RsdVehicle, which is then overridden by all implementations of RsdVehicle. This breaks the API of vdd_aggregate_vehicle_new() (adding an `id` parameter), and removes CsrVehicleService:vehicle-id in favour of the overridden RsdVehicle:id property. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3181
-
Philip Withnall authored
The canonical way of handling a UNIX signal is to catch it, reset the signal handler to the default, do cleanup, and then re-emit the signal using raise(). At this point, it goes to the default handler, typically causing the process to terminate. Previously we were handling signals by catching them, doing cleanup, then exiting with a non-zero exit status, which wasn’t technically correct. This tidies up a bit of the intertwined GCancellable handling in the CsrService and CsrBackend code, so that functions don’t end up calling g_cancellable_cancel() on GCancellables they were passed from their callers. This adds a new error code to CsrServiceError, and changes the API of csr_service_exit(). Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3180
-
- May 18, 2016
-
-
Philip Withnall authored
These are wrappers around g_debug() and friends to simplify adding G_STRFUNC. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3171
-
Philip Withnall authored
Instead of cancelling a GCancellable from the innards of the calling code, use csr_service_exit() to gracefully exit with a useful error message. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3158
-
Philip Withnall authored
It was used to distinguish an API (the vehicle manager interface) which no longer exists, so can be removed. This reduces the number of well-known names which the daemon exports from 3 to 2. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3155
-
Philip Withnall authored
This removes the vehicle manager interface from the daemon’s D-Bus API — instead of backends calling UpdateVehicles to register/deregister their vehicles with the daemon, the daemon will find all backends whose names start with ‘org.apertis.Rhosydd1.Backends.’ and will use the D-Bus ObjectManager to query their vehicles. This implements the querying and signal handling to keep the daemon up to date. It also removes the vehicle manager interface, but does not yet clean up all the code around it. Reviewed-by:
Simon McVittie <simon.mcvittie@collabora.co.uk> Signed-off-by:
Philip Withnall <philip.withnall@collabora.co.uk> Differential Revision: https://phabricator.apertis.org/D3152
-