Lines Matching refs:VirtualBox

9  * This file is part of VirtualBox Open Source Edition (OSE), as
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
92 #define VBOX_GLOBAL_SETTINGS_FILE "VirtualBox.xml"
101 com::Utf8Str VirtualBox::sVersion;
104 com::Utf8Str VirtualBox::sVersionNormalized;
107 ULONG VirtualBox::sRevision;
110 com::Utf8Str VirtualBox::sPackageType;
113 com::Utf8Str VirtualBox::sAPIVersion;
116 std::map<com::Utf8Str, int> VirtualBox::sNatNetworkNameToRefCount;
119 RWLockHandle *VirtualBox::spMtxNatNetworkNameToRefCountLock;
127 * Abstract callback event class to asynchronously call VirtualBox callbacks
132 * @note The VirtualBox instance passed to the constructor is strongly
133 * referenced, so that the VirtualBox singleton won't be released until the
136 class VirtualBox::CallbackEvent : public Event
140 CallbackEvent(VirtualBox *aVirtualBox, VBoxEventType_T aWhat)
154 * is bound to the lifetime of the VirtualBox instance, so it's safe.
156 VirtualBox *mVirtualBox;
163 // VirtualBox private member data definition
177 * Main VirtualBox data structure.
181 struct VirtualBox::Data
222 // VirtualBox main settings file
242 // longer need the main VirtualBox object lock, but only the respective list
263 // see VirtualBox::rememberMachineNameChangeForMedia())
308 DEFINE_EMPTY_CTOR_DTOR(VirtualBox)
310 HRESULT VirtualBox::FinalConstruct()
321 void VirtualBox::FinalRelease()
334 * Initializes the VirtualBox object.
338 HRESULT VirtualBox::init()
374 /* Get the VirtualBox home directory. */
380 tr("Could not create the VirtualBox home directory '%s' (%Rrc)"),
386 /* compose the VirtualBox.xml file name */
395 // load and parse VirtualBox.xml; this will throw on XML or logic errors
595 HRESULT VirtualBox::initMachines()
634 * -- VirtualBox::init(), to load the global media registry from VirtualBox.xml;
637 * from machine XML, for machines created with VirtualBox 4.0 or later.
644 * transient UUID created at VirtualBox startup for the global registry or
646 * @param mediaRegistry The XML settings structure to load, either from VirtualBox.xml
650 HRESULT VirtualBox::initMedia(const Guid &uuidRegistry,
654 LogFlow(("VirtualBox::initMedia ENTERING, uuidRegistry=%s, strMachineFolder=%s\n",
725 LogFlow(("VirtualBox::initMedia LEAVING\n"));
730 void VirtualBox::uninit()
750 /* It is necessary to hold the VirtualBox and Host locks here because
848 HRESULT VirtualBox::getVersion(com::Utf8Str &aVersion)
854 HRESULT VirtualBox::getVersionNormalized(com::Utf8Str &aVersionNormalized)
860 HRESULT VirtualBox::getRevision(ULONG *aRevision)
866 HRESULT VirtualBox::getPackageType(com::Utf8Str &aPackageType)
872 HRESULT VirtualBox::getAPIVersion(com::Utf8Str &aAPIVersion)
878 HRESULT VirtualBox::getHomeFolder(com::Utf8Str &aHomeFolder)
885 HRESULT VirtualBox::getSettingsFilePath(com::Utf8Str &aSettingsFilePath)
892 HRESULT VirtualBox::getHost(ComPtr<IHost> &aHost)
899 HRESULT VirtualBox::getSystemProperties(ComPtr<ISystemProperties> &aSystemProperties)
906 HRESULT VirtualBox::getMachines(std::vector<ComPtr<IMachine> > &aMachines)
917 HRESULT VirtualBox::getMachineGroups(std::vector<com::Utf8Str> &aMachineGroups)
957 HRESULT VirtualBox::getHardDisks(std::vector<ComPtr<IMedium> > &aHardDisks)
968 HRESULT VirtualBox::getDVDImages(std::vector<ComPtr<IMedium> > &aDVDImages)
979 HRESULT VirtualBox::getFloppyImages(std::vector<ComPtr<IMedium> > &aFloppyImages)
990 HRESULT VirtualBox::getProgressOperations(std::vector<ComPtr<IProgress> > &aProgressOperations)
1002 HRESULT VirtualBox::getGuestOSTypes(std::vector<ComPtr<IGuestOSType> > &aGuestOSTypes)
1013 HRESULT VirtualBox::getSharedFolders(std::vector<ComPtr<ISharedFolder> > &aSharedFolders)
1023 HRESULT VirtualBox::getPerformanceCollector(ComPtr<IPerformanceCollector> &aPerformanceCollector)
1036 HRESULT VirtualBox::getDHCPServers(std::vector<ComPtr<IDHCPServer> > &aDHCPServers)
1048 HRESULT VirtualBox::getNATNetworks(std::vector<ComPtr<INATNetwork> > &aNATNetworks)
1068 HRESULT VirtualBox::getEventSource(ComPtr<IEventSource> &aEventSource)
1075 HRESULT VirtualBox::getExtensionPackManager(ComPtr<IExtPackManager> &aExtensionPackManager)
1088 HRESULT VirtualBox::getInternalNetworks(std::vector<com::Utf8Str> &aInternalNetworks)
1138 HRESULT VirtualBox::getGenericNetworkDrivers(std::vector<com::Utf8Str> &aGenericNetworkDrivers)
1189 HRESULT VirtualBox::checkFirmwarePresent(FirmwareType_T aFirmwareType,
1273 /* Helper for VirtualBox::ComposeMachineFilename */
1276 HRESULT VirtualBox::composeMachineFilename(const com::Utf8Str &aName,
1445 HRESULT VirtualBox::createMachine(const com::Utf8Str &aSettingsFile,
1564 HRESULT VirtualBox::openMachine(const com::Utf8Str &aSettingsFile,
1590 HRESULT VirtualBox::registerMachine(const ComPtr<IMachine> &aMachine)
1615 HRESULT VirtualBox::findMachine(const com::Utf8Str &aSettingsFile,
1651 HRESULT VirtualBox::getMachinesByGroups(const std::vector<com::Utf8Str> &aGroups,
1718 HRESULT VirtualBox::getMachineStates(const std::vector<ComPtr<IMachine> > &aMachines,
1739 HRESULT VirtualBox::createMedium(const com::Utf8Str &aFormat,
1800 HRESULT VirtualBox::openMedium(const com::Utf8Str &aLocation,
1888 HRESULT VirtualBox::getGuestOSType(const com::Utf8Str &aId,
1914 HRESULT VirtualBox::createSharedFolder(const com::Utf8Str &aName,
1927 HRESULT VirtualBox::removeSharedFolder(const com::Utf8Str &aName)
1936 HRESULT VirtualBox::getExtraDataKeys(std::vector<com::Utf8Str> &aKeys)
1954 HRESULT VirtualBox::getExtraData(const com::Utf8Str &aKey,
1970 HRESULT VirtualBox::setExtraData(const com::Utf8Str &aKey,
1998 // onExtraDataCanChange() only briefly requests the VirtualBox
2041 HRESULT VirtualBox::setSettingsSecret(const com::Utf8Str &aPassword)
2048 int VirtualBox::i_decryptMediumSettings(Medium *pMedium)
2073 int VirtualBox::i_decryptSettings()
2099 int VirtualBox::i_encryptSetting(const Utf8Str &aPlaintext, Utf8Str *aCiphertext)
2123 int VirtualBox::i_decryptSetting(Utf8Str *aPlaintext, const Utf8Str &aCiphertext)
2163 int VirtualBox::i_encryptSettingBytes(const uint8_t *aPlaintext, uint8_t *aCiphertext,
2213 int VirtualBox::i_decryptSettingBytes(uint8_t *aPlaintext,
2246 void VirtualBox::i_storeSettingsKey(const Utf8Str &aKey)
2256 void VirtualBox::i_dumpAllBackRefs()
2295 HRESULT VirtualBox::i_postEvent(Event *event)
2304 LogWarningFunc(("VirtualBox has been uninitialized (state=%d), the event is discarded!\n",
2329 HRESULT VirtualBox::i_addProgress(IProgress *aProgress)
2355 HRESULT VirtualBox::i_removeProgress(IN_GUID aId)
2376 ComObjPtr<VirtualBox> that;
2379 VirtualBox::SVCHelperClientFunc func;
2431 HRESULT VirtualBox::i_startSVCHelperClient(bool aPrivileged,
2471 VirtualBox::SVCHelperClientThread(RTTHREAD aThread, void *aUser)
2486 /* protect VirtualBox from uninitialization */
2500 vrc = client.create(Utf8StrFmt("VirtualBox\\SVCHelper\\{%RTuuid}",
2617 void VirtualBox::i_updateClientWatcher()
2632 void VirtualBox::i_addProcessToReap(RTPROCESS pid)
2642 struct MachineEvent : public VirtualBox::CallbackEvent
2644 MachineEvent(VirtualBox *aVB, VBoxEventType_T aWhat, const Guid &aId, BOOL aBool)
2649 MachineEvent(VirtualBox *aVB, VBoxEventType_T aWhat, const Guid &aId, MachineState_T aState)
2685 int VirtualBox::i_loadVDPlugin(const char *pszPluginLibrary)
2693 int VirtualBox::i_unloadVDPlugin(const char *pszPluginLibrary)
2702 void VirtualBox::i_onMachineStateChange(const Guid &aId, MachineState_T aState)
2710 void VirtualBox::i_onMachineDataChange(const Guid &aId, BOOL aTemporary)
2718 BOOL VirtualBox::i_onExtraDataCanChange(const Guid &aId, IN_BSTR aKey, IN_BSTR aValue,
2760 struct ExtraDataEvent : public VirtualBox::CallbackEvent
2762 ExtraDataEvent(VirtualBox *aVB, const Guid &aMachineId,
2779 void VirtualBox::i_onExtraDataChange(const Guid &aId, IN_BSTR aKey, IN_BSTR aValue)
2787 void VirtualBox::i_onMachineRegistered(const Guid &aId, BOOL aRegistered)
2793 struct SessionEvent : public VirtualBox::CallbackEvent
2795 SessionEvent(VirtualBox *aVB, const Guid &aMachineId, SessionState_T aState)
2811 void VirtualBox::i_onSessionStateChange(const Guid &aId, SessionState_T aState)
2817 struct SnapshotEvent : public VirtualBox::CallbackEvent
2819 SnapshotEvent(VirtualBox *aVB, const Guid &aMachineId, const Guid &aSnapshotId,
2838 void VirtualBox::i_onSnapshotTaken(const Guid &aMachineId, const Guid &aSnapshotId)
2847 void VirtualBox::i_onSnapshotDeleted(const Guid &aMachineId, const Guid &aSnapshotId)
2856 void VirtualBox::i_onSnapshotRestored(const Guid &aMachineId, const Guid &aSnapshotId)
2865 void VirtualBox::i_onSnapshotChange(const Guid &aMachineId, const Guid &aSnapshotId)
2872 struct GuestPropertyEvent : public VirtualBox::CallbackEvent
2874 GuestPropertyEvent(VirtualBox *aVBox, const Guid &aMachineId,
2896 void VirtualBox::i_onGuestPropertyChange(const Guid &aMachineId, IN_BSTR aName,
2905 void VirtualBox::i_onNatRedirectChange(const Guid &aMachineId, ULONG ulSlot, bool fRemove, IN_BSTR aName,
2913 void VirtualBox::i_onNATNetworkChange(IN_BSTR aName)
2918 void VirtualBox::i_onNATNetworkStartStop(IN_BSTR aName, BOOL fStart)
2923 void VirtualBox::i_onNATNetworkSetting(IN_BSTR aNetworkName, BOOL aEnabled,
2933 void VirtualBox::i_onNATNetworkPortForward(IN_BSTR aNetworkName, BOOL create, BOOL fIpv6,
2945 void VirtualBox::i_onHostNameResolutionConfigurationChange()
2952 int VirtualBox::i_natNetworkRefInc(IN_BSTR aNetworkName)
2977 int VirtualBox::i_natNetworkRefDec(IN_BSTR aNetworkName)
3008 ComObjPtr<GuestOSType> VirtualBox::i_getUnknownOSType()
3034 void VirtualBox::i_getOpenedMachines(SessionMachinesList &aMachines,
3067 * @note Caller must hold the VirtualBox object lock at least for reading.
3069 VirtualBox::MachinesOList &VirtualBox::i_getMachinesList(void)
3085 HRESULT VirtualBox::i_findMachine(const Guid &aId,
3139 HRESULT VirtualBox::i_findMachineByName(const Utf8Str &aName,
3179 static HRESULT i_validateMachineGroupHelper(const Utf8Str &aGroup, bool fPrimary, VirtualBox *pVirtualBox)
3245 HRESULT VirtualBox::i_validateMachineGroup(const Utf8Str &aGroup, bool fPrimary)
3270 HRESULT VirtualBox::i_convertMachineGroups(const std::vector<com::Utf8Str> aMachineGroups, StringsList *pllMachineGroups)
3312 HRESULT VirtualBox::i_findHardDiskById(const Guid &id,
3352 HRESULT VirtualBox::i_findHardDiskByLocation(const Utf8Str &strLocation,
3407 HRESULT VirtualBox::i_findDVDOrFloppyImage(DeviceType_T mediumType,
3517 HRESULT VirtualBox::i_findRemoveableMedium(DeviceType_T mediumType,
3549 HRESULT VirtualBox::i_findGuestOSType(const Bstr &bstrOSType,
3583 * Starting with VirtualBox 4.0 each medium remembers in its instance data
3587 * This UUID is only used to identify the VirtualBox object while VirtualBox
3592 const Guid& VirtualBox::i_getGlobalRegistryId() const
3597 const ComObjPtr<Host>& VirtualBox::i_host() const
3602 SystemProperties* VirtualBox::i_getSystemProperties() const
3612 ExtPackManager* VirtualBox::i_getExtPackManager() const
3621 AutostartDb* VirtualBox::i_getAutostartDb() const
3627 const ComObjPtr<PerformanceCollector>& VirtualBox::i_performanceCollector() const
3638 void VirtualBox::i_getDefaultMachineFolder(Utf8Str &str) const
3649 void VirtualBox::i_getDefaultHardDiskFormat(Utf8Str &str) const
3655 const Utf8Str& VirtualBox::i_homeDir() const
3661 * Calculates the absolute path of the given path taking the VirtualBox home
3671 int VirtualBox::i_calculateFullPath(const Utf8Str &strPath, Utf8Str &aResult)
3690 * Copies strSource to strTarget, making it relative to the VirtualBox config folder
3696 void VirtualBox::i_copyPathRelativeToConfig(const Utf8Str &strSource,
3732 HRESULT VirtualBox::i_checkMediaForConflicts(const Guid &aId,
3803 bool VirtualBox::i_isMediaUuidInUse(const Guid &aId, DeviceType_T deviceType)
3840 * VirtualBox::saveSettings() that follows later.
3845 * used to call VirtualBox::saveSettings implicitly, which was both
3848 * VirtualBox::saveSettings() can process them properly.
3850 void VirtualBox::i_rememberMachineNameChangeForMedia(const Utf8Str &strOldConfigDir,
3864 ComObjPtr<VirtualBox> pVirtualBox;
3905 * -- VirtualBox::saveSettings() with the UUID of the global registry
3906 * (VirtualBox::Data.uuidRegistry); this will save those media
3911 * has been attached to a machine created with VirtualBox 4.0 or later.
3924 void VirtualBox::i_saveMediaRegistry(settings::MediaRegistry &mediaRegistry,
4043 * Helper function which actually writes out VirtualBox.xml, the main configuration file.
4044 * Gets called from the public VirtualBox::SaveSettings() as well as from various other
4047 * @note Caller must have locked the VirtualBox object for writing and must not hold any
4051 HRESULT VirtualBox::i_saveSettings()
4142 * When called during VirtualBox startup, adds the given machine to the
4148 * object if calls this method not on VirtualBox startup.
4154 HRESULT VirtualBox::i_registerMachine(Machine *aMachine)
4217 HRESULT VirtualBox::i_registerMedium(const ComObjPtr<Medium> &pMedium,
4329 HRESULT VirtualBox::i_unregisterMedium(Medium *pMedium)
4389 void VirtualBox::i_pushMediumToListWithChildren(MediaList &llMedia, Medium *pMedium)
4417 HRESULT VirtualBox::i_unregisterMachineMedia(const Guid &uuidMachine)
4468 HRESULT VirtualBox::i_unregisterMachine(Machine *pMachine,
4536 void VirtualBox::i_markRegistryModified(const Guid &uuid)
4562 void VirtualBox::i_unmarkRegistryModified(const Guid &uuid)
4605 * objects and in the VirtualBox object.
4607 * This locks machines and the VirtualBox object as necessary, so better not
4612 void VirtualBox::i_saveModifiedRegistries()
4669 const com::Utf8Str &VirtualBox::i_getVersionNormalized()
4688 HRESULT VirtualBox::i_ensureFilePathExists(const Utf8Str &strFileName, bool fCreate)
4712 const Utf8Str& VirtualBox::i_settingsFilePath()
4720 * VirtualBox lock, but by this more specialized lock. Mind the locking
4721 * order: always request this lock after the VirtualBox object lock but
4724 RWLockHandle& VirtualBox::i_getMachinesListLockHandle()
4732 * are no longer protected by the VirtualBox lock, but by this more
4734 * after the VirtualBox object lock but before the locks of the media
4737 RWLockHandle& VirtualBox::i_getMediaTreeLockHandle()
4746 DECLCALLBACK(int) VirtualBox::AsyncEventHandler(RTTHREAD thread, void *pvUser)
4805 * Takes the current list of registered callbacks of the managed VirtualBox
4809 * @note Locks the managed VirtualBox object for reading but leaves the lock
4812 void *VirtualBox::CallbackEvent::handler()
4820 LogWarningFunc(("VirtualBox has been uninitialized (state=%d), the callback event is discarded!\n",
4838 //STDMETHODIMP VirtualBox::CreateDHCPServerForInterface(/*IHostNetworkInterface * aIinterface,*/ IDHCPServer ** aServer)
4843 HRESULT VirtualBox::createDHCPServer(const com::Utf8Str &aName,
4859 HRESULT VirtualBox::findDHCPServerByNetworkName(const com::Utf8Str &aName,
4890 HRESULT VirtualBox::removeDHCPServer(const ComPtr<IDHCPServer> &aServer)
4914 HRESULT VirtualBox::i_registerDHCPServer(DHCPServer *aDHCPServer,
4922 // Acquire a lock on the VirtualBox object early to avoid lock order issues
4977 HRESULT VirtualBox::i_unregisterDHCPServer(DHCPServer *aDHCPServer)
5010 HRESULT VirtualBox::createNATNetwork(const com::Utf8Str &aNetworkName,
5034 HRESULT VirtualBox::findNATNetworkByName(const com::Utf8Str &aNetworkName,
5070 HRESULT VirtualBox::removeNATNetwork(const ComPtr<INATNetwork> &aNetwork)
5096 HRESULT VirtualBox::i_registerNATNetwork(NATNetwork *aNATNetwork,
5157 HRESULT VirtualBox::i_unregisterNATNetwork(NATNetwork *aNATNetwork,