92 lines
2.9 KiB
Plaintext
92 lines
2.9 KiB
Plaintext
struct Eldbus.Proxy; [[Represents a client object bound to an interface]]
|
|
struct Eldbus.Connection; [[Represents a connection of one the type of connection with the DBus daemon.]]
|
|
struct Eldbus.Object; [[Represents an object path already attached with bus name or unique id]]
|
|
|
|
enum @extern Eldbus.Connection.Type
|
|
{
|
|
[[Eldbus connection type]]
|
|
unknown = 0, [[Sentinel, not a real type]]
|
|
session, [[Regular user session bus, used for applications and services running per user]]
|
|
system, [[System-wide connection bus, used for system services]]
|
|
starter, [[Uses whatever bus started our application, be session or system]]
|
|
address, [[A private bus at a specific address]]
|
|
last, [[Sentinel, not a real type]]
|
|
}
|
|
|
|
enum Eldbus.Introspection.Argument_Direction
|
|
{
|
|
[[Argument direction]]
|
|
none = 0, [[No direction]]
|
|
in, [[Incoming direction]]
|
|
out, [[Outgoing direction]]
|
|
}
|
|
|
|
/* DTD conversion form: http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd */
|
|
|
|
enum Eldbus.Introspection.Property_Access
|
|
{
|
|
[[Property access rights]]
|
|
read, [[Property can be read]]
|
|
write, [[Property can be written]]
|
|
readwrite, [[Property can be read and written]]
|
|
}
|
|
|
|
/* FIXME: Properly type all of these lists. */
|
|
struct Eldbus.Introspection.Node
|
|
{
|
|
[[DBus Node]]
|
|
name: stringshare; [[Node name (optional)]]
|
|
nodes: list<void_ptr>; [[List with nodes]]
|
|
interfaces: list<void_ptr>; [[List with interfaces]]
|
|
}
|
|
|
|
struct Eldbus.Introspection.Interface
|
|
{
|
|
[[DBus Interface]]
|
|
name: stringshare; [[Interface name]]
|
|
methods: list<void_ptr>; [[List with interface methods]]
|
|
signals: list<void_ptr>; [[List with interface signals]]
|
|
properties: list<void_ptr>; [[List with interface properties]]
|
|
annotations: list<void_ptr>; [[List with interface annotations]]
|
|
}
|
|
|
|
struct Eldbus.Introspection.Method
|
|
{
|
|
[[DBus Method]]
|
|
name: stringshare; [[Method name]]
|
|
arguments: list<void_ptr>; [[List with method arguments]]
|
|
annotations: list<void_ptr>; [[List with method annotations]]
|
|
}
|
|
|
|
struct Eldbus.Introspection.Property
|
|
{
|
|
[[DBus Property]]
|
|
name: stringshare; [[Property name]]
|
|
type: stringshare; [[Property type]]
|
|
access: Eldbus.Introspection.Property_Access; [[Property access rights]]
|
|
annotations: list<void_ptr>; [[List with property annotations]]
|
|
}
|
|
|
|
struct Eldbus.Introspection.Annotation
|
|
{
|
|
[[DBus Annotation]]
|
|
name: stringshare; [[Annotation name]]
|
|
value: stringshare; [[Annotation value]]
|
|
}
|
|
|
|
struct Eldbus.Introspection.Argument
|
|
{
|
|
[[DBus Argument]]
|
|
name: stringshare; [[Argument name (optional)]]
|
|
type: stringshare; [[Argument type]]
|
|
direction: Eldbus.Introspection.Argument_Direction; [[Argument direction]]
|
|
}
|
|
|
|
struct Eldbus.Introspection.Signal
|
|
{
|
|
[[DBus Signal]]
|
|
name: stringshare; [[Signal name]]
|
|
arguments: list<ptr(Eldbus.Introspection.Argument)>; [[List with signal arguments]]
|
|
annotations: list<ptr(Eldbus.Introspection.Annotation)>; [[List with signal annotations]]
|
|
}
|