[PATCH docs] Add documentation for associations

OpenBMC Patches openbmc-patches at stwcx.xyz
Sat Mar 19 04:20:10 AEDT 2016


From: Brad Bishop <bradleyb at us.ibm.com>

---
 dbus-interfaces.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

diff --git a/dbus-interfaces.md b/dbus-interfaces.md
index b2a8ab0..51aa114 100644
--- a/dbus-interfaces.md
+++ b/dbus-interfaces.md
@@ -184,3 +184,64 @@ properties:
   *  `debug_data`
 
   *  `time`
+
+# Associations
+OpenBMC uses associations to extend the DBUS API without impacting existing objects and interfaces.
+## `org.openbmc.Associations`
+A object wishing to create an association implements this interface.
+
+methods:
+* None
+
+properties:
+* `associations signature=a(sss):` An array of forward, reverse, endpoint tuples where:
+ * fowrard - the type of the association to create
+ * reverse - the type of the association to create for the endpoint
+ * endpoint - the endpoint of the association
+
+For example, given an object: `/org/openbmc/events/1`
+that implements `org.openbmc.Associations` and sets the `associations` property to:
+
+`associations: [`
+
+`    ["events", "frus", "/org/openbmc/piece_of_hardware"],`
+
+`    ["events", "times", "/org/openbmc/timestamps/1"]`
+
+`]`
+
+would result in the following associations:
+
+* /org/openbmc/events/1/frus
+* /org/openbmc/events/1/times
+* /org/openbmc/piece_of_hardware/events
+* /org/openbmc/timestamps/1/events
+
+It is up to the specific OpenBMC implementation to decide, what, if anything to do with these.
+For example, the Phosphor mapper application looks for objects that implement this interface
+and creates objects in its /org/openbmc DBUS namespace.
+
+## `org.openbmc.Association`
+OpenBMC implementations use this interface to insert associations into the DBUS namespace.
+
+methods:
+* None
+
+properties:
+* `endpoints signature=as:` An array of association endpoints.  
+		   
+For example, given:
+
+/org/openbmc/events/1/frus:
+
+`endpoints: [`
+
+`    ["/org/openbmc/hardware/cpu0"],`
+
+`    ["/org/openbmc/hardware/cpu1"],`
+
+`]`
+   
+Denotes the following:
+* /org/openbmc/events/1 => fru => /org/openbmc/hardware/cpu0
+* /org/openbmc/events/1 => fru => /org/openbmc/hardware/cpu1
-- 
2.7.1




More information about the openbmc mailing list