SetExtraData with GUI/SuppressMessages

Discussion about using the VirtualBox API, Tutorials, Samples.

SetExtraData with GUI/SuppressMessages

Postby bearbox » 10. Mar 2015, 11:25

Hi All,

There appear to be a few myths and legends regarding the SuppressMessages options ... none seem to survive a reboot of the VM and those little messages appear again ... and again ... and again.

I'd just like to gather everything into one place so we can get a definitive description of how it works.

IMachine::SetExtraData or IVirtualBox::SetExtraData (globally) with a key parameter of "GUI/SuppressMessages"

Firstly ... does Local or Global make any difference to a VM that is starting up for the first time ... I assume that if the setting is Global then it will be applied to all new VMs ... this seems reasonable ... anyone disagree ... it seems to vary as to what happens ?

Once a VM has started up ... do the Global options take precedence over the local ones ... or vice versa ... or are they merged together ... or both ignored ... ?

Then we have the values that can be used against this setting :

"all"

this seems to be undocumented, therefore unreliable, but works ... is it going to be supported ... has it been made unsupported ?

"remindThis,confirmThat"

this specifies a list of dialogs that should be hidden ... does each setting have a remind/confirm option ... or are there specific remind xor confirm options that relate to the wording on the dialog/actual issue.

",remindThis,confirmThat"

the comma at the front seems to make a difference on some platforms / versions ... or is this comma superfluous ?

Can anyone shed any light on this ?

Thanks,

BB
bearbox
 
Posts: 1
Joined: 9. Mar 2015, 19:30

Re: SetExtraData with GUI/SuppressMessages

Postby noteirak » 10. Mar 2015, 15:01

Myths is definitly overrated, but I wouldn't mind calling "obscure" the whole extra data :)

Firstly ... does Local or Global make any difference to a VM that is starting up for the first time ... I assume that if the setting is Global then it will be applied to all new VMs ... this seems reasonable ... anyone disagree ... it seems to vary as to what happens ?

IMachine::setExtraData & IVirtualBox::setExtraData are simply two different locations to store extra data, following a certain logic :
- Anything stored in IVirtualBox::setExtraData will remain on the same profile (one per uer per host), regardless of which VMs is registered. It doesn't mean settings will apply to all VMs.
GUI related keys tend to be for all VMs, so you might think because it's in IVirtualBox, it gets apply everywhere, but no. Exemple of non-related VM extraData: GUI/LanguageID.
How the extraData is treated is implementation dependent. It just happens that most GUI related keys have an impact on all VMs.

- Anything stored in IMachine::setExtraData will be bound to the VM and will be transported if you move the VM to another host (I don't know about export/import appliance tho).

Once a VM has started up ... do the Global options take precedence over the local ones ... or vice versa ... or are they merged together ... or both ignored ... ?

None of the above, they remains separated. Again, the way they are handled is implementation specific.

Then we have the values that can be used against this setting :

"all"

this seems to be undocumented, therefore unreliable, but works ... is it going to be supported ... has it been made unsupported ?

Here comes the "obscure" bit. It is not documented and is totally implementation specific. This is true for most of the extraData keys.
If you need more info about them, you have two possiblities :
1. Check the source code
2. Ask on the dev mailing list

"remindThis,confirmThat"

this specifies a list of dialogs that should be hidden ... does each setting have a remind/confirm option ... or are there specific remind xor confirm options that relate to the wording on the dialog/actual issue.

I believe they are specific remind xor confirm options. But only the devs can confirm.

the comma at the front seems to make a difference on some platforms / versions ... or is this comma superfluous ?

I never had any issue related to that, I can only suggest asking on the dev mailing list.

If you do ask on the mailing list, please reply here with the subject you used, so I can link the thread from the mailman archives :)
Hyperbox - Virtual Infrastructure Manager - https://kamax.io/hbox/
Manage your VirtualBox infrastructure the free way!
noteirak
Site Moderator
 
Posts: 5198
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7

Re: SetExtraData with GUI/SuppressMessages

Postby serov » 17. Mar 2015, 23:38

This is true for most of the extraData keys.

Where can I see all lists keys for the extraData?
serov
 
Posts: 11
Joined: 12. Mar 2015, 14:30

Re: SetExtraData with GUI/SuppressMessages

Postby noteirak » 17. Mar 2015, 23:42

No documentation exists for them, so it's all in the source code. And to answer your next question: don't know where. Only the devs can answer. I can only advise the mailing list or the irc channel.
Hyperbox - Virtual Infrastructure Manager - https://kamax.io/hbox/
Manage your VirtualBox infrastructure the free way!
noteirak
Site Moderator
 
Posts: 5198
Joined: 13. Jan 2012, 11:14
Primary OS: Debian other
VBox Version: OSE Debian
Guest OSses: Debian, Win 2k8, Win 7

Re: SetExtraData with GUI/SuppressMessages

Postby frank » 29. Apr 2015, 11:55

True. Actually it would be too much maintenance effort to add documentation for every key.
frank
Oracle Corporation
 
Posts: 3362
Joined: 7. Jun 2007, 09:11
Location: Dresden, Germany
Primary OS: Debian Sid
VBox Version: PUEL
Guest OSses: Linux, Windows


Return to The VirtualBox API

Who is online

Users browsing this forum: No registered users and 1 guest