nih-dbus-tool(1)

πŸ“¦ version 1.0.3, in arch rolling, ubuntu jammy

🌸 NAME 🌸

welcome to nih-dbus-tool(1), fresh out of the General Commands Manual section 🫢

nih-dbus-tool is the D-Bus binding code generator. that's the job. she generates. πŸ’…


🎬 SYNOPSIS 🎬

nih-dbus-tool [OPTIONS]...  [-o FILE] [XMLFILE]
nih-dbus-tool [OPTIONS]...  -o FILE --system|--session --dest=NAME OBJECT-PATH

two whole moods, bestie ✨

  • mode one: you hand her [XMLFILE] and let her write wherever (-o FILE if you want to say).
  • mode two: you give her -o FILE, pick a bus with --system or --session, name a --dest=NAME, and point at an OBJECT-PATH.

πŸ’œ DESCRIPTION πŸ’œ

the DESCRIPTION section here slides straight into the overview, so don't stall β€” scroll with me πŸ‘‡

πŸ”­ OVERVIEW πŸ”­

okay so first things first: what even is the D-Bus introspection format? it's an XML document πŸ“„ that describes the interfaces implemented by a particular object. and yes, that includes the methods and signals of that interface, along with their arguments, plus the properties of that interface. the whole package. 🎁

one document = one object, and that object is represented by the root <node> tag 🌳

so here's the nesting tea:

  • interfaces implemented by that object β†’ <interface> tags inside it
  • methods, signals and properties defined by the interface β†’ <method>, <signal> and <property> tags inside the interface
  • arguments to methods and signals β†’ <arg> tags inside them
  • names and other values β†’ given as attributes to the tag

then there's the extras layer: additional properties for external tools or software can live in <annotation> tags 🏷️. those may appear within interfaces, methods, signals, properties and arguments. nih-dbus-tool makes use of many of these. and heads up β€” argument annotations are an nih-dbus-tool extension to the format. that's not standard, that's her thing ✨

now, the parser? reasonably liberal, on purpose, so the D-Bus introspection format can expand in future. which means:

  • any unknown tag, attribute or annotation β†’ ignored, with a warning 🫠
  • any tag not in an expected location β†’ ignored, with a warning 🫠
  • a missing root node tag β†’ error ❌
  • missing attributes β†’ error ❌
  • illegal or invalid format values for defined attributes β†’ error ❌
  • non well-formed XML β†’ error ❌
also important: character data and comments are not considered part of description, and they are not parsed. she's not reading them, so don't bother πŸ’€

πŸŽ›οΈ OPTIONS πŸŽ›οΈ

ngl, the OPTIONS section on this page is literally empty β€” no flags listed, nothing to memorise, nothing to study πŸ“­ the ones you'd actually type show up in the synopsis up top.


✍️ AUTHOR ✍️

Written by Scott James Remnant <scott@netsplit.com> πŸ‘‘


πŸ› BUGS πŸ›

found something cursed? report bugs at <https://launchpad.net/libnih/+bugs> πŸ›βœ¨


Copyright Β© 2009 Scott James Remnant <scott@netsplit.com>.

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

NO warranty, bestie. not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. screaming, crying, throwing up 😭

and that's the page! she's from libnih-dus, dated 2009-04-11, and she's nih-dbus-tool(1) through and through πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from