VirtualBox

Changeset 27677 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Mar 24, 2010 5:21:51 PM (15 years ago)
Author:
vboxsync
Message:

Main/VirtualBox: new parameter for overriding VM file existence check on creation.

Location:
trunk/src/VBox/Main
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/ApplianceImpl.cpp

    r27607 r27677  
    66
    77/*
    8  * Copyright (C) 2008-2009 Sun Microsystems, Inc.
     8 * Copyright (C) 2008-2010 Sun Microsystems, Inc.
    99 *
    1010 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    12331233            const Utf8Str &strNameVBox = vsdeName.front()->strVbox;
    12341234            rc = mVirtualBox->CreateMachine(Bstr(strNameVBox), Bstr(strOsTypeVBox),
    1235                                                  Bstr(), Bstr(),
     1235                                                 Bstr(), Bstr(), FALSE,
    12361236                                                 pNewMachine.asOutParam());
    12371237            if (FAILED(rc)) throw rc;
  • trunk/src/VBox/Main/MachineImpl.cpp

    r27644 r27677  
    266266 *                      (ignored otherwise)
    267267 *  @param aOsType      OS Type of this machine
     268 *  @param aOverride    |TRUE| to override VM config file existence checks.
     269 *                      |FALSE| refuses to overwrite existing VM configs.
    268270 *  @param aNameSync    |TRUE| to automatically sync settings dir and file
    269271 *                      name with the machine name. |FALSE| is used for legacy
     
    284286                      CBSTR aName /* = NULL */,
    285287                      GuestOSType *aOsType /* = NULL */,
     288                      BOOL aOverride /* = FALSE */,
    286289                      BOOL aNameSync /* = TRUE */,
    287290                      const Guid *aId /* = NULL */)
     
    347350            RTFILE f = NIL_RTFILE;
    348351            int vrc = RTFileOpen(&f, mData->m_strConfigFileFull.c_str(), RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
    349             if (    RT_SUCCESS(vrc)
     352            if (    (RT_SUCCESS(vrc) && !aOverride)
    350353                 || vrc == VERR_SHARING_VIOLATION
    351354               )
  • trunk/src/VBox/Main/VirtualBoxImpl.cpp

    r27668 r27677  
    66
    77/*
    8  * Copyright (C) 2006-2009 Sun Microsystems, Inc.
     8 * Copyright (C) 2006-2010 Sun Microsystems, Inc.
    99 *
    1010 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    10311031                                       IN_BSTR aBaseFolder,
    10321032                                       IN_BSTR aId,
     1033                                       BOOL aOverride,
    10331034                                       IMachine **aMachine)
    10341035{
     
    10841085                       aName,
    10851086                       osType,
     1087                       aOverride,
    10861088                       TRUE /* aNameSync */,
    10871089                       &id);
     
    11391141                       aName,
    11401142                       osType,
     1143                       FALSE /* aOverride */,
    11411144                       FALSE /* aNameSync */,
    11421145                       &id);
     
    43094312    AssertReturn(pvUser, VERR_INVALID_POINTER);
    43104313
     4314    com::Initialize();
     4315
    43114316    // create an event queue for the current thread
    43124317    EventQueue *eventQ = new EventQueue();
     
    43274332
    43284333    delete eventQ;
     4334
     4335    com::Shutdown();
    43294336
    43304337    LogFlowFuncLeave();
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r27642 r27677  
    16901690  <interface
    16911691    name="IVirtualBox" extends="$dispatched"
    1692     uuid="2158464a-f706-414b-a8c4-fb589dfc6b62"
     1692    uuid="3f36e024-7fed-4f20-a02c-9158a82b44e6"
    16931693    wsmap="managed"
    16941694  >
     
    19191919      <param name="id" type="uuid" mod="string" dir="in">
    19201920        <desc>Machine UUID (optional).</desc>
     1921      </param>
     1922      <param name="override" type="boolean" dir="in">
     1923        <desc>Create the VM even if there are conflicting files.</desc>
    19211924      </param>
    19221925      <param name="machine" type="IMachine" dir="return">
  • trunk/src/VBox/Main/include/MachineImpl.h

    r27644 r27677  
    354354                 CBSTR aName = NULL,
    355355                 GuestOSType *aOsType = NULL,
     356                 BOOL aOverride = FALSE,
    356357                 BOOL aNameSync = TRUE,
    357358                 const Guid *aId = NULL);
  • trunk/src/VBox/Main/include/VirtualBoxImpl.h

    r27668 r27677  
    77
    88/*
    9  * Copyright (C) 2006-2009 Sun Microsystems, Inc.
     9 * Copyright (C) 2006-2010 Sun Microsystems, Inc.
    1010 *
    1111 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    125125
    126126    STDMETHOD(CreateMachine) (IN_BSTR aName, IN_BSTR aOsTypeId, IN_BSTR aBaseFolder,
    127                               IN_BSTR aId, IMachine **aMachine);
     127                              IN_BSTR aId, BOOL aOverride, IMachine **aMachine);
    128128    STDMETHOD(CreateLegacyMachine) (IN_BSTR aName, IN_BSTR aOsTypeId, IN_BSTR aSettingsFile,
    129129                                    IN_BSTR aId, IMachine **aMachine);
  • trunk/src/VBox/Main/testcase/tstAPI.cpp

    r26177 r27677  
    55
    66/*
    7  * Copyright (C) 2006-2009 Sun Microsystems, Inc.
     7 * Copyright (C) 2006-2010 Sun Microsystems, Inc.
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    742742        RTPrintf ("Creating a new machine object (base dir '%ls', name '%ls')...\n",
    743743                baseDir.raw(), name.raw());
    744         CHECK_ERROR_BREAK (virtualBox, CreateMachine (baseDir, name,
     744        CHECK_ERROR_BREAK (virtualBox, CreateMachine (name, L"", baseDir, L"",
     745                                                      false,
    745746                                                      machine.asOutParam()));
    746747
  • trunk/src/VBox/Main/testcase/tstVBoxAPILinux.cpp

    r26186 r27677  
    88
    99/*
    10  * Copyright (C) 2006-2007 Sun Microsystems, Inc.
     10 * Copyright (C) 2006-2010 Sun Microsystems, Inc.
    1111 *
    1212 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    195195    nsCOMPtr <IMachine> machine;
    196196    rc = virtualBox->CreateMachine(NS_LITERAL_STRING("A brand new name").get(),
    197                                    nsnull, nsnull, nsnull, getter_AddRefs(machine));
     197                                   nsnull, nsnull, nsnull, false, getter_AddRefs(machine));
    198198    if (NS_FAILED(rc))
    199199    {
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