<div dir="ltr">Hello Devs,<div><br></div><div>I realise you were very busy lately, but I am afraid my e-mails and questions might have fallen into the depth of the mailing list.</div><div>Could it be possible to have answers to my various questions? Thank you in advance for your time. Always very much appreciated</div>

<div><br></div><div>Best regards,</div><div>Max</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 2 October 2013 20:54, Maxime Dor <span dir="ltr"><<a href="mailto:maxime.dor@altherian.org" target="_blank">maxime.dor@altherian.org</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Devs, <div><br></div><div>A bit more feedback, following on my previous already long e-mail :</div><div>

<br></div><div><br></div><div>The method IConsole->restoreSnapshot() requires a ISnapshot object, when all the others require only the name or the UUID of a given snapshot. Any particular reaosn for this difference?</div>



<div><br></div><div><br></div><div>If I want to find out if a VM currently has snapshot(s), I can use these two ways :</div><div>- use getCurrentSnapshot() and check for null</div><div>- use findSnapshot() and pass a null value, and check for an exception to be thrown, or not.</div>



<div>Are both acceptable or is one more recommended? Would it make sense to provide a "hasSnapshot()" method aswell, so you hide the way to determine if a VM is using snapshots or not?</div><div><br></div><div>


<br></div><div>When we are using methods that return a IProgress event, we basically have to keep "pooling" for the state, using IProgress->waitForCompletion() method.</div>
<div>Wouldn't it make more sense to send events when there is an update in the progress? There is already an event manager in Virtualbox, so that could be used to provide a more reactive link to a running task?</div>


<div>
<br></div><div><br></div><div>Finally, when modifying the settings of a VM, or controlling the VM, we need to aquire a lock. There are 2 types of locks, and some settings only require "Shared" while others definitly require "Write".</div>


<div>The appropriate lock can easily by known with a bit of common sense, but I was wondering how to find out that information programmatically? I can't find anything in the API or in the docs that would look like a table with the different settings or actions, and the required lock type. Maybe I am being very picky here, but since this is all about feedback, I thought I would mention it.</div>


<div><br></div><div><br></div><div>All for now, more to come I am sure.</div><div><br></div><div>Best regards,</div><div>Max</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br>

<div class="gmail_quote">On 26 September 2013 21:29, Maxime Dor <span dir="ltr"><<a href="mailto:maxime.dor@altherian.org" target="_blank">maxime.dor@altherian.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Klaus,<div><br></div><div>So far so good, I can't find anything wrong in my tests. They are quite basic for now, but I'll keep on testing and see if something comes up.</div>


<div>The medium variant list instead of an integer/long is definitly a very nice change. Same for the USB controllers list. Quite neat now!</div>
<div><br></div><div>Taking on your API feedback offer, I do have few questions/remarks on the API in general, and for the Java part :</div><div><br></div><div>If I want to get a IMedium object of a known medium, I have two possiblities :</div>



<div>1. I loop through 3 different arrays to find a specific value/UUID</div><div>2. I have to use the IVirtualbox->openMedium() method, but then I must know the medium type (floppy, cd/dvd, hard disk)</div><div><br></div>



<div>Few questions about this :</div><div>- Shouldn't there be a findMedium() method, just like for a VM, using either the path or the UUID? Else we have to build this "cache" ourselves.</div><div>- Wouldn't be a more appropriate to "auto-detect" the medium type and give the options to simply open a file given a specific path? But I guess that's more a matter of opinioin which one is "best". But I would like to see both methods maybe.</div>



<div>- Why not a single array?</div><div><br></div><div><br></div><div>Still about mediums, I see that I cannot create a medium under the size of 2MB. I must pass a value no less than 2048000 to IMedium->createBaseStorage(size,variant).</div>



<div>No mention of this anywhere in the API, and I get a cryptic error (invalid parameters) when I try. In retrospec, it is the proper error, but not really when you discover this limitation.</div><div>I guess 2MB is a "physical" limitation (minimum sectors in a disk?) or is a Virtualbox one?</div>



<div><br></div><div><br></div><div>I would like to provide a "Guest reboot" option, that would send a command to reboot the guest, and check when the VM has reseted, but there is no such event in the API.</div>


<div>
I would like to send the reboot command to the guest (via the guest properties per exemple, or other) and either wait for this event, or a timeout and force the reboot by powering off the VM then restarting it.</div><div>



It would very much make sense to send a machine event telling us the VM has rebooted. It should be possible since you actually get a line in the VM log about the VM reseting and the BIOS kicking in.</div><div>That would be a nice addition I think.</div>



<div><br></div><div><br></div><div>Specific to the Java API, I am interesting into gettnig the error code for any VBoxException to rethrow a specific custom exception, but no such method is present.</div><div>The only thing I can do is to parse the text message for the error number, if it is included.</div>



<div>This is not very "clean" and could break if you decide to change the format of error messages. Is there a way to get this error code from the VBoxException somewhere, or not possible as of now?</div><div><br>



</div><div><br></div><div>More questions to come later I am sure. Thank you for your time already!</div><div><br></div><div>Best regards,</div><div>Max</div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">


On 21 September 2013 22:27, Maxime Dor <span dir="ltr"><<a href="mailto:maxime.dor@altherian.org" target="_blank">maxime.dor@altherian.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Oops, a bit too trigger happy hehe...<br>
I got it, thank you!<br>
<div><div><br>
-----Original Message-----<br>
From: Frank Mehnert [mailto:<a href="mailto:frank.mehnert@oracle.com" target="_blank">frank.mehnert@oracle.com</a>]<br>
Sent: 21 September 2013 07:58<br>
To: <a href="mailto:vbox-dev@virtualbox.org" target="_blank">vbox-dev@virtualbox.org</a><br>
Subject: Re: [vbox-dev] VBox 4.3 Beta - SDK Download<br>
<br>
Maxime,<br>
<br>
the SDK upload was just not yet completed. Please have a look at the<br>
download directory now.<br>
<br>
Kind regards,<br>
<br>
Frank<br>
<br>
On Saturday 21 September 2013 02:29:15 Maxime Dor wrote:<br>
> Hello Klaus;<br>
><br>
> You already changed all the points I had "an issue" with in the 4.2<br>
> API, so once I use the 4.3 API further, I  can let you know my<br>
> impressions and any ideas.<br>
><br>
> Could you give me a link to the SDK for BETA3 as well please? None was<br>
> uploaded. Thank you!<br>
><br>
> On 18 September 2013 20:30, Klaus Espenlaub<br>
<<a href="mailto:klaus.espenlaub@oracle.com" target="_blank">klaus.espenlaub@oracle.com</a>>wrote:<br>
> > Hi Max,<br>
> ><br>
> > On 16.09.2013 23:49, Maxime Dor wrote:<br>
> >> Hi Klaus,<br>
> >><br>
> >> Just wanted to let you know that so far, everything is very easy<br>
> >> and that except for the actual API changes, which are very limited<br>
> >> from my PoV, all the code is pretty much plug & play.<br>
> >> I'll run all my unit tests once I have adapted the changes you made<br>
> >> and see how it goes, but I don't fear.<br>
> >><br>
> >> I like when it's easy like this :) And I like the nice little<br>
> >> tweaks you've made - definitly makes more sense.<br>
> ><br>
> > We try not to break things just to break them... and let us know if<br>
> > you have any ideas for improving the API usability. Any suggestions<br>
> > will be reviewed, and we have a list of changes we want to do in 4.4<br>
> > already (and we can't do them now because of lack of developer time).<br>
> ><br>
> > There will be a few more very minor changes coming in the next beta,<br>
> > which you'll probably call boring as I can't imagine that any code<br>
> > is using the affected methods (mostly not yet implemented stuff<br>
> > which we might be able to find time to implement in some 4.3.x).<br>
> ><br>
> > Klaus<br>
> ><br>
> >> On 12 September 2013 17:46, Klaus Espenlaub<br>
> >> <<a href="mailto:klaus.espenlaub@oracle.com" target="_blank">klaus.espenlaub@oracle.com</a> <mailto:<a href="mailto:klaus.espenlaub@" target="_blank">klaus.espenlaub@</a>**<a href="http://oracle.com" target="_blank">oracle.com</a><br>




> >> <<a href="mailto:klaus.espenlaub@oracle.com" target="_blank">klaus.espenlaub@oracle.com</a>>>><br>
> >><br>
> >> wrote:<br>
> >>     Hi Max,<br>
> >><br>
> >>     On 12.09.2013 16:58, Maxime Dor wrote:<br>
> >>      > Hello,<br>
> >>      ><br>
> >>      > Would it possible to get a SDK zip like with 4.2.x build so I<br>
can<br>
> >>      > already test my code against 4.3 and already prepare what needs<br>
> >>      > to<br>
> >><br>
> >> be<br>
> >><br>
> >>      > changed?<br>
> >><br>
> >>     Was an oversight... 4.3.0_BETA1 had it, but it's not yet there for<br>
> >>     4.3.0_BETA2 (and there were API changes, some more to come). Will<br>
be<br>
> >>     fixed soon, and appear in the expected place on<br>
> >><br>
<a href="http://download.virtualbox." target="_blank">http://download.virtualbox.</a>**org/virtualbox/4.3.0_BETA2/<<a href="http://down" target="_blank">http://down</a><br>
> >>     <a href="http://load.virtualbox.org/virtualbox/4.3.0_BETA2/" target="_blank">load.virtualbox.org/virtualbox/4.3.0_BETA2/</a>><br>
> >><br>
> >>     Klaus<br>
> >><br>
> >>      > Thank you.<br>
> >>      ><br>
> >>      > Best regards,<br>
> >>      > Max<br>
<br>
--<br>
Dr.-Ing. Frank Mehnert | Software Development Director, VirtualBox ORACLE<br>
Deutschland B.V. & Co. KG | Werkstr. 24 | 71384 Weinstadt, Germany<br>
<br>
Hauptverwaltung: Riesstr. 25, D-80992 München<br>
Registergericht: Amtsgericht München, HRA 95603<br>
Geschäftsführer: Jürgen Kunz<br>
<br>
Komplementärin: ORACLE Deutschland Verwaltung B.V.<br>
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der<br>
Handelskammer Midden-Niederlande, Nr. 30143697<br>
Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher<br>
<br>
</div></div></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>