Documentation ¶
Overview ¶
Package introspect provides some utilities for dealing with the DBus introspection format.
Index ¶
Constants ¶
const IntrospectDataString = `` /* 158-byte string literal not displayed */
The introspection data for the org.freedesktop.DBus.Introspectable interface, as a string.
const IntrospectDeclarationString = `` /* 147-byte string literal not displayed */
XML document type declaration of the introspection format version 1.0
Variables ¶
var IntrospectData = Interface{ Name: "org.freedesktop.DBus.Introspectable", Methods: []Method{ { Name: "Introspect", Args: []Arg{ {"out", "s", "out"}, }, }, }, }
The introspection data for the org.freedesktop.DBus.Introspectable interface.
Functions ¶
This section is empty.
Types ¶
type Annotation ¶
Annotation is an annotation in the introspection format.
type Arg ¶
type Arg struct { Name string `xml:"name,attr,omitempty"` Type string `xml:"type,attr"` Direction string `xml:"direction,attr,omitempty"` }
Arg represents an argument of a method or a signal.
type Interface ¶
type Interface struct { Name string `xml:"name,attr"` Methods []Method `xml:"method"` Signals []Signal `xml:"signal"` Properties []Property `xml:"property"` Annotations []Annotation `xml:"annotation"` }
Interface describes a DBus interface that is available on the message bus.
type Introspectable ¶
type Introspectable string
Introspectable implements org.freedesktop.Introspectable.
You can create it by converting the XML-formatted introspection data from a string to an Introspectable or call NewIntrospectable with a Node. Then, export it as org.freedesktop.Introspectable on you object.
func NewIntrospectable ¶
func NewIntrospectable(n *Node) Introspectable
NewIntrospectable returns an Introspectable that returns the introspection data that corresponds to the given Node. If n.Interfaces doesn't contain the data for org.freedesktop.DBus.Introspectable, it is added automatically.
func (Introspectable) Introspect ¶
func (i Introspectable) Introspect() (string, *dbus.Error)
Introspect implements org.freedesktop.Introspectable.Introspect.
type Method ¶
type Method struct { Name string `xml:"name,attr"` Args []Arg `xml:"arg"` Annotations []Annotation `xml:"annotation"` }
Method describes a Method on an Interface as retured by an introspection.
type Node ¶
type Node struct { XMLName xml.Name `xml:"node"` Name string `xml:"name,attr,omitempty"` Interfaces []Interface `xml:"interface"` Children []Node `xml:"node,omitempty"` }
Node is the root element of an introspection.
type Property ¶
type Property struct { Name string `xml:"name,attr"` Type string `xml:"type,attr"` Access string `xml:"access,attr"` Annotations []Annotation `xml:"annotation"` }
Property describes a property of an Interface.
type Signal ¶
type Signal struct { Name string `xml:"name,attr"` Args []Arg `xml:"arg"` Annotations []Annotation `xml:"annotation"` }
Signal describes a Signal emitted on an Interface.