summaryrefslogtreecommitdiff
path: root/src/dbus-unit.h
AgeCommit message (Collapse)Author
2012-01-17dbus-unit: make functions staticMichal Schmidt
The dbus_unit_append_*() functions are not referenced from outside anymore.
2012-01-16dbus: more efficient implementation of propertiesMichal Schmidt
The way the various properties[] arrays are initialized is inefficient: - only the .data members change at runtime, yet the whole arrays of properties with all the fields are constructed on the stack one by one by the code. - there's duplication, eg. the properties of "org.freedesktop.systemd1.Unit" are repeated in several unit types. Fix it by moving the information about properties into static const sections. Instead of storing the .data directly in the property, store a constant offset from a run-time base. The small arrays of struct BusBoundProperties bind together the constant information with the right runtime information (the base pointer). On my system the code shrinks by 60 KB, data increases by 10 KB.
2012-01-16unit: remove union UnitMichal Schmidt
Now that objects of all unit types are allocated the exact amount of memory they need, the Unit union has lost its purpose. Remove it. "Unit" is a more natural name for the base unit class than "Meta", so rename Meta to Unit. Access to members of the base class gets simplified.
2012-01-11unit: implement new PropagateReloadTo=/PropagateReloadFrom= operationsLennart Poettering
2012-01-06unit: properly update references to units which are mergedLennart Poettering
When we merge units that some kind of object points to, those pointers might become invalidated, and needs to be updated. Introduce a UnitRef struct which links up all the unit references, to ensure corrected references. At the same time, drop configured_sockets in the Service object, and replace it by proper UNIT_TRIGGERS resp. UNIT_TRIGGERED_BY dependencies, which allow us to simplify a lot of code.
2011-08-21cgroup: expose cgroup attributes as unit properties on the busLennart Poettering
2011-07-31dbus: export unit file stateLennart Poettering
2011-07-31dbus: export load error on unit objectsLennart Poettering
2011-05-05unit: make ignoring in snapshots a per unit property, instead of a per unit ↵Lennart Poettering
type property
2011-04-16dbus: split out object management code into dbus-common, and simplify itLennart Poettering
2011-04-16manager: introduce IgnoreOnIsolate flag so that we can keep systemd-logger ↵Lennart Poettering
around when isolating
2011-04-07dbus: expose monotonic timestamps on the busLennart Poettering
2011-04-07unit: introduce OnFailureIsolate=Lennart Poettering
2011-03-09condition: take a timestamp and store last result of conditionsLennart Poettering
2011-03-09dbus: properly generate UnknownInterface, UnknownProperty and ↵Lennart Poettering
PropertyReadOnly errors
2011-02-08dbus: use ControlGroup as property name to match config optionLennart Poettering
2010-10-29unit: replace StopRetroactively= by BindTo= dependenciesLennart Poettering
The property StopRetroactively= needs to be per-dependency, not per-unit, in order to properly express dependencies between .mount units and its .device and fsck .service units. If the .device unit is unplugged the mount should go away, but if the fsck process terminates the .mount should stay.
2010-10-28unit: replace recursive_stop by stop_retroactively to simplify things a littleLennart Poettering
2010-10-22systemctl: introduce systemctl killLennart Poettering
2010-09-27fix spelling of 'unneeded' at various placesLennart Poettering
2010-08-31manager: add missing second part of s/maintenance/failed/Matthew Miller
2010-08-30unit: introduce AllowIsolate= switchLennart Poettering
2010-08-20dbus: follow standardized fdo PropertiesChanged signal specLennart Poettering
2010-08-17emacs: disable tabs in .h files, tooLennart Poettering
2010-08-11unit: rename OnlyByDependency= to RefuseManualStart= and introduce ↵Lennart Poettering
RefuseManualStop= Some unit shall never be start on user request (e.g. shutdown.target) others never be stopped on user request (e.g. auditd.servce), hence offer options for both.
2010-08-09manager: when two pending jobs conflict, keep the one that "conflicts", ↵Lennart Poettering
remove the one that is "conflicted" This gives the writer of units control which unit is kept and which is stopped when two units conflict.
2010-07-20device: do not merge devicesLennart Poettering
Don't try to merge devices that have been created via dependencies when they appear in the system and can be recognized as the same. Instead, simply continue to maintain them independently of each other, however with the same state cycle. Why? Because otherwise we'd have a hard time to seperate the dependencies after the devices are unplugged again and we hence cannot be sure anymore that next time the device is plugged in it will carry the same names. Example: if one depndency refers to dev-sda.device and another one to dev-by-id-xxxyyy.device we only learn at time of plug in of the device that it is actually the same device that was ment. In the moment the device is unplugged again we won't know anymore their relation to each other and the next time the harddisk is plugged it might even appear as dev-by-id-xxxyyy.device and dev-sdb.service. To ensure the dependencies continue to have the meaning they were intended to have let's hence keep the .device objects seperate all the time, even when they are plugged in. This patch also introduces a new Following= property which points from the various .device units of a specific device to the main .device unit for it. This can be used by the client side to figure out the relation of the .device units to each other and even filter units from display.
2010-07-19systemctl: introduce reset-maintenance commandLennart Poettering
2010-07-17job: timeout every job independently of the unitLennart Poettering
2010-07-17unit: introduce OnFailure dependencies to activate units on failure of other ↵Lennart Poettering
units, as a way to implement an automatic rescue shell
2010-07-17systemctl: warn when operating on service files that changed on disk but ↵Lennart Poettering
haven't been reloaded
2010-07-13systemctl: introduce try-restart and reload-or-restart commandsLennart Poettering
2010-07-10execute: add ability to configure the kill signalLennart Poettering
2010-07-06install: implement --start optionLennart Poettering
2010-07-04dbus: complete coverage for unit interfaceLennart Poettering
2010-07-01core: rename struct timestamp to dual_timestamp to avoid name clash with IP ↵Lennart Poettering
system headers
2010-05-23dbus: automatically generate and install introspection filesLennart Poettering
2010-05-16build-sys: move source files to subdirectoryLennart Poettering