C# Class VsTeXProject.VisualStudio.Project.ConfigProvider

Inheritance: IVsCfgProvider2, IVsProjectCfgProvider, IVsExtensibleObject
ファイルを表示 Open project: mimura1133/vstex

Private Properties

Property Type Description
ConvertPlatformToVsProject string
GetPlatforms int
GetPlatformsFromProject string[]
GetPropertiesConditionedOn string[]
GetSupportedPlatformsFromProject string[]
NotifyOnCfgNameAdded void
NotifyOnCfgNameDeleted void
NotifyOnCfgNameRenamed void
NotifyOnPlatformNameAdded void
NotifyOnPlatformNameDeleted void

Public Methods

Method Description
AddCfgsOfCfgName ( string name, string cloneName, int fPrivate ) : int

Copies an existing configuration name or creates a new one.

AddCfgsOfPlatformName ( string platformName, string clonePlatformName ) : int

Copies an existing platform name or creates a new one.

AdviseCfgProviderEvents ( IVsCfgProviderEvents sink, uint &cookie ) : int

Registers the caller for configuration event notification.

ConfigProvider ( ProjectNode manager ) : System
DeleteCfgsOfCfgName ( string name ) : int

Deletes a specified configuration name.

DeleteCfgsOfPlatformName ( string platName ) : int

Deletes a specified platform name.

GetAutomationObject ( string configurationName, object &configurationProperties ) : int

Proved access to an IDispatchable object being a list of configuration properties

GetCfgNames ( uint celt, string names, uint actual ) : int

Returns the existing configurations stored in the project file.

GetCfgOfName ( string name, string platName, IVsCfg &cfg ) : int

Returns the configuration associated with a specified configuration or platform name.

GetCfgProviderProperty ( int propid, object &var ) : int

Returns a specified configuration property.

GetCfgs ( uint celt, IVsCfg a, uint actual, uint flags ) : int

Returns the per-configuration objects for this object.

GetPlatformNames ( uint celt, string names, uint actual ) : int

Returns one or more platform names.

GetSupportedPlatformNames ( uint celt, string names, uint actual ) : int

Returns the set of platforms that are installed on the user's machine.

OpenProjectCfg ( string projectCfgCanonicalName, IVsProjectCfg &projectCfg ) : int

Provides access to the IVsProjectCfg interface implemented on a project's configuration object.

RenameCfgsOfCfgName ( string old, string newname ) : int

Assigns a new name to a configuration.

UnadviseCfgProviderEvents ( uint cookie ) : int

Cancels a registration for configuration event notification.

get_UsesIndependentConfigurations ( int &usesIndependentConfigurations ) : int

Checks whether or not this configuration provider uses independent configurations.

Protected Methods

Method Description
CreateProjectConfiguration ( string configName ) : ProjectConfig
GetProjectConfiguration ( string configName ) : ProjectConfig

Creates new Project Configuartion objects based on the configuration name.

Private Methods

Method Description
ConvertPlatformToVsProject ( string oldPlatformName ) : string

Helper function to convert AnyCPU to Any CPU.

GetPlatforms ( uint celt, string names, uint actual, string platforms ) : int

Common method for handling platform names.

GetPlatformsFromProject ( ) : string[]

Gets all the platforms defined in the project

GetPropertiesConditionedOn ( string constant ) : string[]

Get all the configurations in the project.

GetSupportedPlatformsFromProject ( ) : string[]

Return the supported platform names.

NotifyOnCfgNameAdded ( string name ) : void

Called when a new configuration name was added.

NotifyOnCfgNameDeleted ( string name ) : void

Called when a config name was deleted.

NotifyOnCfgNameRenamed ( string oldName, string newName ) : void

Called when a config name was renamed

NotifyOnPlatformNameAdded ( string platformName ) : void
NotifyOnPlatformNameDeleted ( string platformName ) : void

Method Details

AddCfgsOfCfgName() public method

Copies an existing configuration name or creates a new one.
public AddCfgsOfCfgName ( string name, string cloneName, int fPrivate ) : int
name string The name of the new configuration.
cloneName string /// the name of the configuration to copy, or a null reference, indicating that AddCfgsOfCfgName /// should create a new configuration. ///
fPrivate int /// Flag indicating whether or not the new configuration is private. If fPrivate is set to true, the /// configuration is private. If set to false, the configuration is public. This flag can be ignored. ///
return int

AddCfgsOfPlatformName() public method

Copies an existing platform name or creates a new one.
public AddCfgsOfPlatformName ( string platformName, string clonePlatformName ) : int
platformName string The name of the new platform.
clonePlatformName string /// The name of the platform to copy, or a null reference, indicating that /// AddCfgsOfPlatformName should create a new platform. ///
return int

AdviseCfgProviderEvents() public method

Registers the caller for configuration event notification.
public AdviseCfgProviderEvents ( IVsCfgProviderEvents sink, uint &cookie ) : int
sink IVsCfgProviderEvents /// Reference to the IVsCfgProviderEvents interface to be called to provide notification of /// configuration events. ///
cookie uint Reference to a token representing the completed registration
return int

ConfigProvider() public method

public ConfigProvider ( ProjectNode manager ) : System
manager ProjectNode
return System

CreateProjectConfiguration() protected method

protected CreateProjectConfiguration ( string configName ) : ProjectConfig
configName string
return ProjectConfig

DeleteCfgsOfCfgName() public method

Deletes a specified configuration name.
public DeleteCfgsOfCfgName ( string name ) : int
name string The name of the configuration to be deleted.
return int

DeleteCfgsOfPlatformName() public method

Deletes a specified platform name.
public DeleteCfgsOfPlatformName ( string platName ) : int
platName string The platform name to delet.
return int

GetAutomationObject() public method

Proved access to an IDispatchable object being a list of configuration properties
public GetAutomationObject ( string configurationName, object &configurationProperties ) : int
configurationName string Combined Name and Platform for the configuration requested
configurationProperties object The IDispatchcable object
return int

GetCfgNames() public method

Returns the existing configurations stored in the project file.
public GetCfgNames ( uint celt, string names, uint actual ) : int
celt uint Specifies the requested number of property names. If this number is unknown, celt can be zero.
names string /// On input, an allocated array to hold the number of configuration property names specified by celt. This parameter /// can also be a null reference if the celt parameter is zero. /// On output, names contains configuration property names. ///
actual uint The actual number of property names returned.
return int

GetCfgOfName() public method

Returns the configuration associated with a specified configuration or platform name.
public GetCfgOfName ( string name, string platName, IVsCfg &cfg ) : int
name string The name of the configuration to be returned.
platName string The name of the platform for the configuration to be returned.
cfg IVsCfg The implementation of the IVsCfg interface.
return int

GetCfgProviderProperty() public method

Returns a specified configuration property.
public GetCfgProviderProperty ( int propid, object &var ) : int
propid int /// Specifies the property identifier for the property to return. For valid propid values, see /// __VSCFGPROPID. ///
var object The value of the property.
return int

GetCfgs() public method

Returns the per-configuration objects for this object.
public GetCfgs ( uint celt, IVsCfg a, uint actual, uint flags ) : int
celt uint /// Number of configuration objects to be returned or zero, indicating a request for an unknown number /// of objects. ///
a IVsCfg /// On input, pointer to an interface array or a null reference. On output, this parameter points to an /// array of IVsCfg interfaces belonging to the requested configuration objects. ///
actual uint /// The number of configuration objects actually returned or a null reference, if this information is /// not necessary. ///
flags uint /// Flags that specify settings for project configurations, or a null reference (Nothing in Visual /// Basic) if no additional flag settings are required. For valid prgrFlags values, see __VSCFGFLAGS. ///
return int

GetPlatformNames() public method

Returns one or more platform names.
public GetPlatformNames ( uint celt, string names, uint actual ) : int
celt uint Specifies the requested number of platform names. If this number is unknown, celt can be zero.
names string /// On input, an allocated array to hold the number of platform names specified by celt. This parameter /// can also be a null reference if the celt parameter is zero. On output, names contains platform names. ///
actual uint The actual number of platform names returned.
return int

GetProjectConfiguration() protected method

Creates new Project Configuartion objects based on the configuration name.
protected GetProjectConfiguration ( string configName ) : ProjectConfig
configName string The name of the configuration
return ProjectConfig

GetSupportedPlatformNames() public method

Returns the set of platforms that are installed on the user's machine.
public GetSupportedPlatformNames ( uint celt, string names, uint actual ) : int
celt uint /// Specifies the requested number of supported platform names. If this number is unknown, celt can be /// zero. ///
names string /// On input, an allocated array to hold the number of names specified by celt. This parameter can also /// be a null reference (Nothing in Visual Basic)if the celt parameter is zero. On output, names contains the names of /// supported platforms ///
actual uint The actual number of platform names returned.
return int

OpenProjectCfg() public method

Provides access to the IVsProjectCfg interface implemented on a project's configuration object.
public OpenProjectCfg ( string projectCfgCanonicalName, IVsProjectCfg &projectCfg ) : int
projectCfgCanonicalName string The canonical name of the configuration to access.
projectCfg IVsProjectCfg The IVsProjectCfg interface of the configuration identified by szProjectCfgCanonicalName.
return int

RenameCfgsOfCfgName() public method

Assigns a new name to a configuration.
public RenameCfgsOfCfgName ( string old, string newname ) : int
old string The old name of the target configuration.
newname string The new name of the target configuration.
return int

UnadviseCfgProviderEvents() public method

Cancels a registration for configuration event notification.
public UnadviseCfgProviderEvents ( uint cookie ) : int
cookie uint The cookie used for registration.
return int

get_UsesIndependentConfigurations() public method

Checks whether or not this configuration provider uses independent configurations.
public get_UsesIndependentConfigurations ( int &usesIndependentConfigurations ) : int
usesIndependentConfigurations int /// true if independent configurations are used, false if they are not used. By /// default returns true. ///
return int