All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Andreas Färber" <afaerber@suse.de>,
	"Eric Blake" <eblake@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>
Subject: [Qemu-devel] What's our ABI promise for externally visible QOM?
Date: Fri, 30 Nov 2018 07:59:59 +0100	[thread overview]
Message-ID: <87r2f3nj80.fsf@dusky.pond.sub.org> (raw)

QOM types and the QOM graph are externally visible:

* qom-list-types returns QOM type names and parents.

  Fine print: the result is limited to concrete types by default.
  Aside: that's the only way to figure out whether a type is abstract.
  Interface design fail.  The result can optionally be limited to
  sub-types of a certain type.

* qom-list-properties returns a named type's static properties.

* qom-list returns an object's properties.  This lets clients traverse
  the QOM graph.

* qom-get returns a property's value.

* qom-set changes a property's value.

* -object and object-add create a QOM object of a certain type with
  certain property values.  The type must be a sub-type of
  "user-creatable".

* Types are identified by name.

* Objects and properties are identified by QOM path.  An absolute QOM
  paths is the path within the composition tree starting at the root.
  Partial paths are a convenience you don't want to understand.

What promises do we make regarding the stability  / backward
compatibility of these externally visible entities?

The QMP command documentation is silent on it.  A user could reasonably
assume that the general QMP stability promise extends to all of QOM.
Does it?

Was that the intent when we created qom-list, qom-set, qom-get?
Andreas, do you remember?

Is it practical given the current state of affairs?

Is it a good idea?

             reply	other threads:[~2018-11-30  7:06 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-30  6:59 Markus Armbruster [this message]
2018-11-30 10:17 ` [Qemu-devel] What's our ABI promise for externally visible QOM? Daniel P. Berrangé
2018-11-30 11:59 ` Andreas Färber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r2f3nj80.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=afaerber@suse.de \
    --cc=berrange@redhat.com \
    --cc=eblake@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.