3ds Max C++ API Reference
|
The PluginPackageManager is a service implemented by 3ds Max. More...
#include <PluginPackageManager.h>
Public Types | |
enum class | Components { Plugins , Assemblies , UIScheme , DefaultSetting , PreStartUpScripts , MacroScripts , PostStartUpScripts , MetaSLShaderPath , MiFile , MRShader , LightIconPaths , DarkIconPaths , OSLFolders , AMGFolders , SceneConverterFolders , Hotkeys , Menus , QuadMenus , TotalComponents } |
PluginPackage component types. More... | |
enum class | EnvironmentVariableType { String , Path } |
Type of an environment variable. More... | |
Public Member Functions | |
virtual | ~PluginPackageManager () |
PluginPackageManager (const PluginPackageManager &)=delete | |
PluginPackageManager & | operator= (const PluginPackageManager &)=delete |
const MCHAR * | GetPrivatePackageInstallPath () const |
Get the path (belonging to the current user) that is scanned for discovering user specific plugin packages. | |
const MCHAR * | GetPublicPackageInstallPath () const |
Get the path (shared by all users) that is scanned for discovering plugins that are globally installed (for all users of the machine), For example: ALLUSERSPROFILE%\Autodesk\ApplicationPlugins\. | |
const MCHAR * | GetPackageInstallPathByUpgradeCode (const MCHAR *upgradeCode) const |
Get the install path of the plugin package specified by upgradeCode. | |
size_t | GetPackageCount () const |
Get the count of installed plugin packages. | |
const PluginPackageInfo * | GetPackage (size_t i) const |
Get the available information about the ith plugin package as PluginPackageInfo object. | |
const PluginPackageInfo * | GetPackageByUpgradeCode (const MCHAR *upgradeCode) const |
Get the available information about the plugin package specified by upgradeCode. | |
size_t | GetPackageComponentCount (size_t i, Components component) const |
Get the component count of a given plugin package. | |
const PluginPackageComponent * | GetPackageComponent (size_t i, Components component, size_t n) const |
Get a given component from a plugin package. | |
size_t | GetComponentCount (Components component) const |
Get the global count of a given component. | |
const PluginPackageComponent * | GetComponent (Components component, size_t i) const |
Get the information that is available for the specified component (as a PluginPackageComponent object) | |
void | CollectPackageInfo () |
Browse all plugin package folders and collect all plugin package information. | |
size_t | GetPackageEnvironmentVariablesCount (size_t packageIndex) const |
Get the environment variable definition count of a given plugin package. | |
bool | GetPackageEnvironmentVariable (size_t packageIndex, size_t variableIndex, MSTR &name, MSTR &value, EnvironmentVariableType &type) const |
Get the definition of a given environment variable. | |
bool | GetVerboseLogging () const |
void | SetVerboseLogging (bool val) |
Static Public Member Functions | |
static PluginPackageManager * | GetInstance () |
Get the single instance of the plugin package manager. | |
![]() | |
static UtilExport void * | operator new (size_t size) |
Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new (size_t size, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
New operator used to allocate arrays of objects. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. | |
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. | |
static UtilExport void | operator delete (void *ptr) |
Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. | |
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. | |
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
Placement new operator. | |
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
Placement delete operator. | |
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
Allocates memory on a specified alignment boundary. | |
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
Reallocates memory on a specified alignment boundary. | |
static UtilExport void | aligned_free (void *ptr) |
Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. | |
The PluginPackageManager is a service implemented by 3ds Max.
It loads and manages plugin packages that conform to the Autodesk Application Package Format. The PluginPackageManager class allows client code to discover what plugin packages have been loaded during the startup of 3ds Max, what these packages contain (plugin dlls, managed assemblies, maxscripts, etc.) and from which directories all these components are loaded. The details of the packaging format can be found in the "Packaging Plug-ins" topic in the 3ds Max Developer's Guide.
|
strong |
PluginPackage component types.
PluginPackages contain components that need to be installed together on a system to provide a usable function to the user.
Enumerator | |
---|---|
Plugins | Plugins are unmanaged dlls loaded by 3ds Max usually during startup. |
Assemblies | Assemblies are managed dlls. |
UIScheme | UIScheme is a file that can be used by the defaults switcher. |
DefaultSetting | DefaultSetting is a folder where defaults are stored. |
PreStartUpScripts | PluginScripts are run after the dll is loaded. |
MacroScripts | MacroScripts are 3ds Max scripts. |
PostStartUpScripts | PostStartupScripts are startup scripts run when the UI system is fully in place. |
MetaSLShaderPath | |
MiFile | |
MRShader | |
LightIconPaths | LightIconPaths provides a path to the CUI frame manager to load light icons. |
DarkIconPaths | LightIconPaths provides a path to the CUI frame manager to load dark icons icons. |
OSLFolders | OSLFolders defines folders to load OSL shaders from. |
AMGFolders | AMGFolders defines folders to load AMG node definitions and shaders fragment implementations from. |
SceneConverterFolders | SceneConverter defines the base path of where ConversionPresets and ConversionScripts are found Preset files are found in the sub directory ConversionPresets and are named XXXX_preset.ms Conversions files are found in the sub directory ConversionScripts. |
Hotkeys | Hotkeys defines the paths to the plugin's hotkeys. This can be either one or multiple files, which will be loaded by the UI customization mechanism. |
Menus | Menus defines the paths to the plugin's menu files. This can be either one or multiple files, which will be loaded by the UI customization mechanism. |
QuadMenus | QuadMenus defines the paths to the plugin's quad menu files. This can be either one or multiple files, which will be loaded by the UI customization mechanism. |
TotalComponents | TotalComponents gives the number of defined component types. |
|
strong |
Type of an environment variable.
Enumerator | |
---|---|
String | The environment variable represents a normal string. |
Path | The environment variable represents a list of paths separated by the standard path delimiter (semicolon) |
|
virtual |
|
delete |
|
delete |
const MCHAR * GetPrivatePackageInstallPath | ( | ) | const |
Get the path (belonging to the current user) that is scanned for discovering user specific plugin packages.
For Example: APPDATA%\Autodesk\ApplicationPlugins\
const MCHAR * GetPublicPackageInstallPath | ( | ) | const |
Get the path (shared by all users) that is scanned for discovering plugins that are globally installed (for all users of the machine), For example: ALLUSERSPROFILE%\Autodesk\ApplicationPlugins\.
Get the install path of the plugin package specified by upgradeCode.
upgradeCode | the plugin package version-independent unique GUID that has been specified for the plugin package |
size_t GetPackageCount | ( | ) | const |
Get the count of installed plugin packages.
const PluginPackageInfo * GetPackage | ( | size_t | i | ) | const |
Get the available information about the ith plugin package as PluginPackageInfo object.
i | the index of the plugin package (between 0 and GetPackageCount() - 1) |
const PluginPackageInfo * GetPackageByUpgradeCode | ( | const MCHAR * | upgradeCode | ) | const |
Get the available information about the plugin package specified by upgradeCode.
upgradeCode | the version-independent unique GUID that has been specified for the plugin package |
size_t GetPackageComponentCount | ( | size_t | i, |
Components | component | ||
) | const |
Get the component count of a given plugin package.
i | the index of the plugin package (between 0 and GetPackageCount() - 1) |
component | the requested plugin package component |
const PluginPackageComponent * GetPackageComponent | ( | size_t | i, |
Components | component, | ||
size_t | n | ||
) | const |
Get a given component from a plugin package.
i | the index of the plugin package (between 0 and GetPackageCount() - 1) |
component | the requested plugin package component |
n | the index of the component (between 0 and GetPackageComponentCount(i, component)) |
size_t GetComponentCount | ( | Components | component | ) | const |
Get the global count of a given component.
This count represents the number of instances of this component in all plugin packages.
component | the requested plugin package component |
const PluginPackageComponent * GetComponent | ( | Components | component, |
size_t | i | ||
) | const |
Get the information that is available for the specified component (as a PluginPackageComponent object)
component | the requested plugin package component |
i | the index of the component (between 0 and GetComponentCount() - 1) |
void CollectPackageInfo | ( | ) |
Browse all plugin package folders and collect all plugin package information.
|
static |
Get the single instance of the plugin package manager.
Get the environment variable definition count of a given plugin package.
packageIndex | the index of the plugin package (between 0 and GetPackageCount() - 1) |
bool GetPackageEnvironmentVariable | ( | size_t | packageIndex, |
size_t | variableIndex, | ||
MSTR & | name, | ||
MSTR & | value, | ||
EnvironmentVariableType & | type | ||
) | const |
Get the definition of a given environment variable.
packageIndex | the index of the package from which to retrieve the environment variable definition |
variableIndex | the index of the variable (from 0 to count - 1) in the package |
name | the returned name of the environment variable if successful |
value | the returned value of the environment variable definition if successful |
type | the returned type of the environment variable if successful |
bool GetVerboseLogging | ( | ) | const |
void SetVerboseLogging | ( | bool | val | ) |