Changeset 9322 in vbox
- Timestamp:
- Jun 2, 2008 8:27:44 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 31536
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/cfgm.h
r9321 r9322 1 1 /** @file 2 * CFGM - Configuration Manager 2 * CFGM - Configuration Manager. 3 3 */ 4 4 -
trunk/src/VBox/VMM/CFGM.cpp
r9321 r9322 2 2 /** @file 3 3 * CFGM - Configuration Manager. 4 *5 * This is the main file of the \ref pg_cfgm "CFGM (Configuration Manager)".6 4 */ 7 5 8 6 /* 9 * Copyright (C) 2006-200 7Sun Microsystems, Inc.7 * Copyright (C) 2006-2008 Sun Microsystems, Inc. 10 8 * 11 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 24 22 /** @page pg_cfgm CFGM - The Configuration Manager 25 23 * 26 * The configuration manager will load and keep the configuration of a VM27 * handy (thru query interface) while the VM is running. The VM properties28 * are organized in a tree and individual nodes can be accessed by normal29 * path walking.30 * 31 * Exactly how the CFGM obtains the configuration is specific to the build.32 * The default for a full build is to query it thru the IMachine interface and33 * a pplies it onto a default setup. It's necessary to have a default in the34 * bottom of this because the IMachine interface doesn't provide all the35 * required details.36 * 37 * Devices are given their own subtree where they are protected from accessing38 * information of any parents. The exported PDM callback interfaces makes sure39 * of this.40 * 41 * Validating of the data obtained, except for validation of the primitive type,42 * is all up to the user. The CFGM user is concidered in a better position to43 * know thevalidation rules of the individual properties.24 * The configuration manager is responsible for storing the configuration 25 * of the VM at run time. It is organized a bit like file hierarchy, 26 * except that the values live in a separate name space, i.e. value names 27 * can include path separators. 28 * 29 * The VMM user creates the configuration tree as part of the VMR3Create() 30 * call via the pfnCFGMConstructor callback argument. If this isn't specified 31 * a simple default tree is created by cfgmR3CreateDefaultTree(). When used 32 * in the normal setup, this function is found in Main/ConsoleImpl2.cpp. 33 * For the VBoxBFE case, see the VBoxBFE.cpp. 34 * 35 * Devices, drivers, services and other PDM stuff are given their own subtree 36 * where they are protected from accessing information of any parents. This is 37 * is implemented via the CFGMR3SetRestrictedRoot() API. 38 * 39 * Validating of the data obtained, except for validation of the primitive 40 * type, is left the caller. The caller is in a better position to know the 41 * proper validation rules of the individual properties. 44 42 * 45 43 * … … 47 45 * 48 46 * CFGM supports the following data primitives: 49 * - Integers. Representation is signed 64-bit. Boolean, unsigned and 50 * small integers are all represented using this primitive. 51 * - Zero terminated character strings. As everywhere else 52 * strings are UTF-8. 47 * - Integers. Representation is unsigned 64-bit. Boolean, unsigned and 48 * small integers, and pointers are all represented using this primitive. 49 * - Zero terminated character strings. These are of course UTF-8. 53 50 * - Variable length byte strings. This can be used to get/put binary 54 51 * objects. … … 77 74 * Internal Functions * 78 75 *******************************************************************************/ 79 static int cfgmR3CreateDefault (PVM pVM);76 static int cfgmR3CreateDefaultTree(PVM pVM); 80 77 static void cfgmR3DumpPath(PCFGMNODE pNode, PCDBGFINFOHLP pHlp); 81 78 static void cfgmR3Dump(PCFGMNODE pRoot, unsigned iLevel, PCDBGFINFOHLP pHlp); … … 135 132 } 136 133 else 137 rc = cfgmR3CreateDefault (pVM);134 rc = cfgmR3CreateDefaultTree(pVM); 138 135 if (VBOX_SUCCESS(rc)) 139 136 { … … 740 737 * @param pVM VM handle. 741 738 */ 742 static int cfgmR3CreateDefault (PVM pVM)739 static int cfgmR3CreateDefaultTree(PVM pVM) 743 740 { 744 741 int rc;
Note:
See TracChangeset
for help on using the changeset viewer.