summaryrefslogtreecommitdiff
path: root/src/libsystemd-bus/bus-objects.c
AgeCommit message (Collapse)Author
2013-11-21logind,machined,run: properly invoke StartTransientUnit() bus callLennart Poettering
2013-11-21bus: rework message handlers to always take an error argumentLennart Poettering
Message handler callbacks can be simplified drastically if the dispatcher automatically replies to method calls if errors are returned. Thus: add an sd_bus_error argument to all message handlers. When we dispatch a message handler and it returns negative or a set sd_bus_error we send this as message error back to the client. This means errors returned by handlers by default are given back to clients instead of rippling all the way up to the event loop, which is desirable to make things robust. As a side-effect we can now easily turn the SELinux checks into normal function calls, since the method call dispatcher will generate the right error replies automatically now. Also, make sure we always pass the error structure to all property and method handlers as last argument to follow the usual style of passing variables for return values as last argument.
2013-11-21bus: let's simplify things by getting rid of unnecessary bus parametersLennart Poettering
2013-11-20core: convert PID 1 to libsystemd-busLennart Poettering
This patch converts PID 1 to libsystemd-bus and thus drops the dependency on libdbus. The only remaining code using libdbus is a test case that validates our bus marshalling against libdbus' marshalling, and this dependency can be turned off. This patch also adds a couple of things to libsystem-bus, that are necessary to make the port work: - Synthesizing of "Disconnected" messages when bus connections are severed. - Support for attaching multiple vtables for the same interface on the same path. This patch also fixes the SetDefaultTarget() and GetDefaultTarget() bus calls which used an inappropriate signature. As a side effect we will now generate PropertiesChanged messages which carry property contents, rather than just invalidation information.
2013-11-06bus: export libsystemd-bus as a public libraryZbigniew Jędrzejewski-Szmek
Old static libsystemd-bus.la becomes libsystemd-bus-internal.la. memfd functions are also exported in the same library. (Best viewed with --color-words -U0).
2013-11-05bus: never report nodes as children that do not have the right prefixLennart Poettering
2013-11-05bus: support implicit serialization of strv string arrays within vtablesLennart Poettering
2013-10-30bus: fix buildLennart Poettering
2013-10-30bus: it is OK to have signals with multiple parametersLennart Poettering
2013-10-30bus: don't fail if GetAll() is used to get properties of the built-in interfacesLennart Poettering
2013-10-29strv: introduce new strv_from_stdarg_alloca() macro to generate a string ↵Lennart Poettering
array from stdarg function parameters This allows us to turn lists of strings passed in easily into string arrays without having to allocate memory.
2013-10-22bus: NULL signatures are OK tooLennart Poettering
2013-10-21bus: allow to specify NULL as an empty string to addKay Sievers
2013-10-16timedated: use libsystemd-bus instead of libdbus for bus communicationLennart Poettering
Among other things this also adds a few things necessary for the change: - Considerably more powerful error returning APIs in libsystemd-bus - Adapter for connecting an sd_bus to an sd_event - As I reworked the PolicyKit logic to the new library I also made it asynchronous, so that PolicyKit requests of one user cannot block out another user anymore. - We always use the macro names for common bus error. That way it is harder to mistype them since the compiler will notice
2013-10-14bus: properly handle if new objects are installed in the node tree while we ↵Lennart Poettering
are dispatching to one
2013-10-14bus: make sure that we always keep a ref to the bus when we dispatch callbacksLennart Poettering
Otherwise the callback might unref the bus we are processing and destroy the object while we are processing it.
2013-10-14list: make our list macros a bit easier to use by not requring type spec on ↵Lennart Poettering
each invocation We can determine the list entry type via the typeof() gcc construct, and so we should to make the macros much shorter to use.
2013-10-11bus: properly implement logic for generating ↵Lennart Poettering
InterfacesAdded/InterfacesRemoved signals of ObjectManager
2013-10-11bus: in GetManagedObjects() only return each object once.Lennart Poettering
2013-10-11bus: unify code to find parents of an object path withLennart Poettering
2013-10-11bus: properly generate GetAll replyLennart Poettering
2013-10-11bus: beef up parameter checking in vtable handlingLennart Poettering
2013-10-11bus: don't rely on gccisms/c11 in public header files.Lennart Poettering
One day sd-bus.h should become a public header file. We generally try to be conservative in language features we use in public headers (much unlike in private code), hence don't make use of anonymous unions in structs for the vtable definitions.
2013-10-11bus: split up overly long sd-bus.c into three filesLennart Poettering