VirtualBox

Ignore:
Timestamp:
Oct 19, 2009 5:26:44 PM (15 years ago)
Author:
vboxsync
Message:

Main: rename snapshot APIs, remove DiscardCurrentSnapshotAndState; tree snapshots implementation still missing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r23823 r23879  
    574574    +-> PoweredOff --+
    575575    |                |
    576     |   Aborted -----+-->[discardSnapshot()    ]-------------> Discarding --+
    577     |                |   [discardCurrentState()]                            |
    578     +-> Saved -------+   [discardCurrentSnapshotAndState()]                 |
     576    |   Aborted -----+-->[restoreSnapshot()    ]-------> RestoringSnapshot -+
     577    |                |   [deleteSnapshot()     ]-------> DeletingSnapshot --+
     578    +-> Saved -------+                                                      |
    579579    |                                                                       |
    580580    +---(Saved if restored from an online snapshot, PoweredOff otherwise)---+
     
    678678      </desc>
    679679    </const>
    680     <const name="Discarding"            value="12">
    681       <desc>
    682         Snapshot of the machine is being discarded.
    683       </desc>
    684     </const>
    685     <const name="SettingUp"             value="13">
     680    <const name="RestoringSnapshot"     value="12">
     681      <desc>
     682        A machine snapshot is being restored; this typically does not take long.
     683      </desc>
     684    </const>
     685    <const name="DeletingSnapshot"      value="13">
     686      <desc>
     687        A machine snapshot is being deleted; this can take a long time since this
     688        may require merging differencing hard disk images.
     689      </desc>
     690    </const>
     691    <const name="SettingUp"             value="14">
    686692      <desc>
    687693        Lengthy setup operation is in progress.
     
    705711      </desc>
    706712    </const>
    707     <const name="LastTransient"  value="13" wsmap="suppress"> <!-- SettingUp -->
     713    <const name="LastTransient"  value="14" wsmap="suppress"> <!-- SettingUp -->
    708714      <desc>
    709715        Pseudo-state: last transient state (for use in relational expressions).
     
    36313637  <interface
    36323638     name="IInternalMachineControl" extends="$unknown"
    3633      uuid="6c08103e-b8e6-44fb-bc6c-36067153d4bd"
     3639     uuid="4e2b8f0f-6575-49d2-bb19-5cd15a6ca2f0"
    36343640     internal="yes"
    36353641     wsmap="suppress"
     
    38543860    </method>
    38553861
    3856     <method name="discardSnapshot">
    3857       <desc>
    3858         Gets called by IConsole::discardSnapshot.
     3862    <method name="deleteSnapshot">
     3863      <desc>
     3864        Gets called by IConsole::deleteSnapshot.
    38593865        <result name="VBOX_E_INVALID_OBJECT_STATE">
    38603866          Snapshot has more than one child snapshot.
     
    38753881    </method>
    38763882
    3877     <method name="discardCurrentState">
    3878       <desc>
    3879         Gets called by IConsole::discardCurrentState.
    3880         <result name="VBOX_E_INVALID_OBJECT_STATE">
    3881           Virtual machine does not have any snapshot.
    3882         </result>
     3883    <method name="restoreSnapshot">
     3884      <desc>
     3885        Gets called by IConsole::RestoreSnapshot.
    38833886      </desc>
    38843887      <param name="initiator" type="IConsole" dir="in">
    38853888        <desc>The console object that initiated this call.</desc>
    38863889      </param>
    3887       <param name="machineState" type="MachineState" dir="out">
    3888         <desc>New machine state after this operation is started.</desc>
    3889       </param>
    3890       <param name="progress" type="IProgress" dir="return">
    3891         <desc>Progress object to track the operation completion.</desc>
    3892       </param>
    3893     </method>
    3894 
    3895     <method name="discardCurrentSnapshotAndState">
    3896       <desc>
    3897         Gets called by IConsole::discardCurrentSnapshotAndState.
    3898         <result name="VBOX_E_INVALID_OBJECT_STATE">
    3899           Virtual machine does not have any snapshot.
    3900         </result>
    3901       </desc>
    3902       <param name="initiator" type="IConsole" dir="in">
    3903         <desc>The console object that initiated this call.</desc>
     3890      <param name="snapshot" type="ISnapshot" dir="in">
     3891        <desc>The snapshot to restore the VM state from.</desc>
    39043892      </param>
    39053893      <param name="machineState" type="MachineState" dir="out">
     
    44544442      <desc>
    44554443        Current snapshot of this machine. This is @c null if the machine
    4456         currently has no snapshots. Otherwise, this is always the last snapshot
    4457         in the current implementation; see <link to="ISnapshot"/> for details.
     4444        currently has no snapshots. If it is not @c null, then it was
     4445        set by one of <link to="Console::takeSnapshot" />,
     4446        <link to="Console::deleteSnapshot" />
     4447        or <link to="Console::restoreSnapshot" />, depending on which
     4448        was called last. See <link to="ISnapshot"/> for details.
    44584449      </desc>
    44594450    </attribute>
     
    44714462        identical to the state stored in the current snapshot.
    44724463
    4473         The current state is identical to the current snapshot right
    4474         after one of the following calls are made:
     4464        The current state is identical to the current snapshot only
     4465        directly after one of the following calls are made:
     4466
    44754467        <ul>
    4476           <li><link to="IConsole::discardCurrentState"/> or
    4477             <link to="IConsole::discardCurrentSnapshotAndState"/>
     4468          <li><link to="IConsole::restoreSnapshot"/>
    44784469          </li>
    44794470          <li><link to="IConsole::takeSnapshot"/> (issued on a
    4480             powered off or saved machine, for which
     4471            "powered off" or "saved" machine, for which
    44814472            <link to="#settingsModified"/> returns @c false)
    44824473          </li>
     
    60886079  <interface
    60896080     name="IConsole" extends="$unknown"
    6090      uuid="03312360-0364-4b7a-ad71-1a8450133774"
     6081     uuid="55dd56a5-1d1d-4d81-b742-b082b9571be6"
    60916082     wsmap="managed"
    60926083     >
     
    66426633    </method>
    66436634
    6644     <method name="discardSnapshot">
     6635    <method name="deleteSnapshot">
    66456636      <desc>
    66466637        Starts discarding the specified snapshot asynchronously.
     
    67386729    </method>
    67396730
    6740     <method name="discardCurrentState">
     6731    <method name="restoreSnapshot">
    67416732      <desc>
    67426733        Starts resetting the machine's current state to the state contained
    6743         in the current snapshot, asynchronously. All current settings of the
     6734        in the given snapshot, asynchronously. All current settings of the
    67446735        machine will be reset and changes stored in differencing media
    67456736        will be lost.
     
    67496740        media are created for all normal media of the machine.
    67506741
    6751         If the current snapshot of the machine is an online snapshot, the
    6752         machine will go to the <link to="MachineState_Saved"> saved
    6753         state</link>, so that the next time it is powered on, the execution
    6754         state will be restored from the current snapshot.
     6742        If the given snapshot is an online snapshot, the machine will go to
     6743        the <link to="MachineState_Saved"> saved state</link>, so that the
     6744        next time it is powered on, the execution state will be restored
     6745        from the state of the snapshot.
    67556746
    67566747        <note>
     
    67696760        </result>
    67706761      </desc>
    6771       <param name="progress" type="IProgress" dir="return">
    6772         <desc>Progress object to track the operation completion.</desc>
    6773       </param>
    6774     </method>
    6775 
    6776     <method name="discardCurrentSnapshotAndState">
    6777       <desc>
    6778 
    6779         This method is equivalent to
    6780         doing <link to="IConsole::discardSnapshot">discardSnapshot</link>
    6781         (currentSnapshot.id(), progress) followed by
    6782         <link to="IConsole::discardCurrentState"/>.
    6783 
    6784         As a result, the machine will be fully restored from the
    6785         snapshot preceding the current snapshot, while both the current
    6786         snapshot and the current machine state will be discarded.
    6787 
    6788         If the current snapshot is the first snapshot of the machine (i.e. it
    6789         has the only snapshot), the current machine state will be
    6790         discarded <b>before</b> discarding the snapshot. In other words, the
    6791         machine will be restored from its last snapshot, before discarding
    6792         it. This differs from performing a single
    6793         <link to="IConsole::discardSnapshot"/> call (note that no
    6794         <link to="IConsole::discardCurrentState"/> will be possible after it)
    6795         to the effect that the latter will preserve the current state instead of
    6796         discarding it.
    6797 
    6798         Unless explicitly mentioned otherwise, all remarks and
    6799         limitations of the above two methods also apply to this method.
    6800 
    6801         <note>
    6802           The machine must not be running, otherwise the operation
    6803           will fail.
    6804         </note>
    6805 
    6806         <note>
    6807           If the machine state is <link to="MachineState_Saved">Saved</link>
    6808           prior to this operation, the saved state file will be implicitly
    6809           discarded (as if <link to="#forgetSavedState"/> were
    6810           called).
    6811         </note>
    6812 
    6813         <note>
    6814           This method is more efficient than calling both of the above
    6815           methods separately: it requires less IPC calls and provides
    6816           a single progress object.
    6817         </note>
    6818 
    6819         <result name="VBOX_E_INVALID_VM_STATE">
    6820           Virtual machine is running.
    6821         </result>
    6822       </desc>
     6762      <param name="snapshot" type="ISnapshot" dir="in">
     6763        <desc>The snapshot to restore the VM state from.</desc>
     6764      </param>
    68236765      <param name="progress" type="IProgress" dir="return">
    68246766        <desc>Progress object to track the operation completion.</desc>
     
    81748116          </li>
    81758117
    8176           <li><link to="IConsole::discardCurrentState"/>: this goes back to
     8118          <li><link to="IConsole::restoreSnapshot"/>: this goes back to
    81778119              a previous snapshot. This resets the machine's state to that of
    81788120              the previous snapshot by deleting the differencing image of each
     
    81838125          </li>
    81848126
    8185           <li><link to="IConsole::discardSnapshot"/>: deletes a snapshot
     8127          <li><link to="IConsole::deleteSnapshot"/>: deletes a snapshot
    81868128              without affecting the current machine state.
    81878129
     
    81948136              by this operation, except that parent disk images will be modified
    81958137              to contain the disk data associated with the snapshot being deleted.
    8196           </li>
    8197 
    8198           <li><link to="IConsole::discardCurrentSnapshotAndState"/>:
    8199               this completely reverts the virtual machine to the state it was in
    8200               before the current snapshot has been taken. Effectively, this goes
    8201               back to the state before the current snapshot, which might be
    8202               an earlier snapshot.
    8203 
    8204               The current state, as well as the current snapshot, are lost.
    82058138          </li>
    82068139      </ul>
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette