FlavoredProject Class

Definition

A project that is a subtype or flavor of an inner project. All methods by default delegate to the inner project. Non-default behaviors should be handled by the flavored project.

public ref class FlavoredProject abstract : Microsoft::VisualStudio::ProjectAggregator::CProjectAggregatorClass, IServiceProvider, Microsoft::VisualStudio::OLE::Interop::IOleCommandTarget, Microsoft::VisualStudio::Shell::Interop::IVsAggregatableProject, Microsoft::VisualStudio::Shell::Interop::IVsTrackProjectDocumentsEvents2, Microsoft::VisualStudio::Shell::Interop::IVsUIHierarchy
public abstract class FlavoredProject : Microsoft.VisualStudio.ProjectAggregator.CProjectAggregatorClass, IServiceProvider, Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget, Microsoft.VisualStudio.Shell.Interop.IVsAggregatableProject, Microsoft.VisualStudio.Shell.Interop.IVsTrackProjectDocumentsEvents2, Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy
type FlavoredProject = class
    inherit CProjectAggregatorClass
    interface IVsAggregatableProject
    interface IServiceProvider
    interface IVsHierarchy
    interface IVsUIHierarchy
    interface IOleCommandTarget
    interface IVsTrackProjectDocumentsEvents2
Public MustInherit Class FlavoredProject
Inherits CProjectAggregatorClass
Implements IOleCommandTarget, IServiceProvider, IVsAggregatableProject, IVsTrackProjectDocumentsEvents2, IVsUIHierarchy
Inheritance
Implements

Remarks

For more information on flavored projects, see Project Subtypes.

Constructors

FlavoredProject()

When overridden in a derived class, initializes an instance of the FlavoredProject class.

Fields

innerOleCommandTarget

The IOleCommandTarget interface of the inner project.

innerVsAggregatableProject

The IVsAggregatableProject of the inner project.

innerVsHierarchy

The IVsHierarchy interface of the inner project.

innerVsUIHierarchy

The IVsUIHierarchy interface of the inner project.

serviceProvider

The service provider of the project.

Methods

AdviseHierarchyEvents(IVsHierarchyEvents)

Subscribes to hierarchy events.

Close()

Closes and cleans up a hierarchy once the environment determines that it is no longer used.

ExecCommand(UInt32, Guid, UInt32, UInt32, IntPtr, IntPtr)

Executes a command on a specific item within a UI hierarchy window, or on the hierarchy itself.

GetCanonicalName(UInt32, String)

Gets the unique name associated with an item in the hierarchy. Used for workspace persistence, such as remembering window positions.

GetGuidProperty(UInt32, Int32)

Gets properties whose values are GUIDs.

GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)

Determines whether or not a node is a nested hierarchy.

GetProperty(UInt32, Int32, Object)

Gets the value of a property for a given node.

GetSite()

Gets the service provider from which to access the services.

InitializeForOuter(String, String, String, UInt32, Guid, Boolean)

Called by the outer project subtype to have the owned inner project subtype do its initialization work.

OnAggregationComplete()

Subscribes to IVsTrackProjectDocumentsEvents2 events. It is not required to flavor a project but makes it easier for derived classes to subscribe to these events.

ParseCanonicalName(String, UInt32)

Returns the identifier of the hierarchy item, given its canonical name.

QueryClose()

Determines whether the hierarchy can be closed.

QueryStatusCommand(UInt32, Guid, UInt32, OLECMD[], IntPtr)

Gets the status of the specified commands.

SetGuidProperty(UInt32, Int32, Guid)

Sets properties whose values are GUIDs.

SetInner(Object)

Sets the inner project.

(Inherited from CProjectAggregatorClass)
SetInnerProject(Object)

Sets up the interfaces and menu commands for the inner project.

SetProperty(UInt32, Int32, Object)

Sets properties of a specific node or of the hierarchy.

UnadviseHierarchyEvents(UInt32)

Disables client notification of hierarchy events.

Unused0()

A placeholder for a future method.

Unused1()

A placeholder for a future method.

Unused2()

A placeholder for a future method.

Unused3()

A placeholder for a future method.

Unused4()

A placeholder for a future method.

Events

DirectoryAdded

Raised after a directory has been added to the project.

DirectoryRemoved

Raised after a directory has been removed from the project.

DirectoryRenamed

Raised after a directory in the project has been renamed.

FileAdded

Raised after a file has been added to the project.

FileRemoved

Raised after a file has been removed from the project.

FileRenamed

Raised after a file in the project has been renamed.

SccStatusChanged

Raised after the source code control status of an item in the project has changed.

Explicit Interface Implementations

IOleCommandTarget.Exec(Guid, UInt32, UInt32, IntPtr, IntPtr)

Executes a specified command or displays help for a command.

IOleCommandTarget.QueryStatus(Guid, UInt32, OLECMD[], IntPtr)

Queries the object for the status of one or more commands.

IServiceProvider.GetService(Type)

Gets the service of the specified type.

IVsAggregatableProject.GetAggregateProjectTypeGuids(String)

Gets the list of project type GUIDs that make up the aggregate project. This method should be delegated to the innermost project within the system of aggregated project subtypes.

IVsAggregatableProject.InitializeForOuter(String, String, String, UInt32, Guid, IntPtr, Int32)

Called by the outer project subtype to have the inner project subtype do its initialization work.

IVsAggregatableProject.OnAggregationComplete()

Called to continue initialization after aggregation is complete.

IVsAggregatableProject.SetAggregateProjectTypeGuids(String)

Updates the list of GUIDs that are persisted in the project file of the base project.

IVsAggregatableProject.SetInnerProject(Object)

Sets up the inner project as well as the necessary interface pointers.

IVsHierarchy.AdviseHierarchyEvents(IVsHierarchyEvents, UInt32)

Subscribes to hierarchy events.

IVsHierarchy.Close()

Closes and cleans up a hierarchy once the environment determines that it is no longer used.

IVsHierarchy.GetCanonicalName(UInt32, String)

Gets a unique name for an item in the hierarchy. Used for workspace persistence, such as remembering window positions.

IVsHierarchy.GetGuidProperty(UInt32, Int32, Guid)

Gets properties whose values are GUIDs.

IVsHierarchy.GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)

Determines whether or not a node is a nested hierarchy.

IVsHierarchy.GetProperty(UInt32, Int32, Object)

Gets properties of a given node or of the hierarchy.

IVsHierarchy.GetSite(IServiceProvider)

Gets the service provider from which to access the services.

IVsHierarchy.ParseCanonicalName(String, UInt32)

Returns the identifier of the hierarchy item, given its canonical name.

IVsHierarchy.QueryClose(Int32)

Determines whether the hierarchy can be closed.

IVsHierarchy.SetGuidProperty(UInt32, Int32, Guid)

Sets properties whose values are GUIDs.

IVsHierarchy.SetProperty(UInt32, Int32, Object)

Sets properties of a specific node or of the hierarchy.

IVsHierarchy.SetSite(IServiceProvider)

Sets the service provider from which to access the services.

IVsHierarchy.UnadviseHierarchyEvents(UInt32)

Disables client notification of hierarchy events.

IVsHierarchy.Unused0()

A placeholder for a future method.

IVsHierarchy.Unused1()

A placeholder for a future method.

IVsHierarchy.Unused2()

A placeholder for a future method.

IVsHierarchy.Unused3()

A placeholder for a future method.

IVsHierarchy.Unused4()

A placeholder for a future method.

IVsTrackProjectDocumentsEvents2.OnAfterAddDirectoriesEx(Int32, Int32, IVsProject[], Int32[], String[], VSADDDIRECTORYFLAGS[])

Raised after directories have been added to a project.

IVsTrackProjectDocumentsEvents2.OnAfterAddFilesEx(Int32, Int32, IVsProject[], Int32[], String[], VSADDFILEFLAGS[])

Raised after files have been added to a project.

IVsTrackProjectDocumentsEvents2.OnAfterRemoveDirectories(Int32, Int32, IVsProject[], Int32[], String[], VSREMOVEDIRECTORYFLAGS[])

Raised after a directory was removed from the project.

IVsTrackProjectDocumentsEvents2.OnAfterRemoveFiles(Int32, Int32, IVsProject[], Int32[], String[], VSREMOVEFILEFLAGS[])

Raised after files have been removed from the project.

IVsTrackProjectDocumentsEvents2.OnAfterRenameDirectories(Int32, Int32, IVsProject[], Int32[], String[], String[], VSRENAMEDIRECTORYFLAGS[])

Raised after a directory has been moved or renamed.

IVsTrackProjectDocumentsEvents2.OnAfterRenameFiles(Int32, Int32, IVsProject[], Int32[], String[], String[], VSRENAMEFILEFLAGS[])

Raised after files have been moved or renamed.

IVsTrackProjectDocumentsEvents2.OnAfterSccStatusChanged(Int32, Int32, IVsProject[], Int32[], String[], UInt32[])

This method is called by the source code control component to inform listeners that source control status has changed. Do not call this method.

IVsTrackProjectDocumentsEvents2.OnQueryAddDirectories(IVsProject, Int32, String[], VSQUERYADDDIRECTORYFLAGS[], VSQUERYADDDIRECTORYRESULTS[], VSQUERYADDDIRECTORYRESULTS[])

Raised by a project to determine whether directories can be added to the project. Not used.

IVsTrackProjectDocumentsEvents2.OnQueryAddFiles(IVsProject, Int32, String[], VSQUERYADDFILEFLAGS[], VSQUERYADDFILERESULTS[], VSQUERYADDFILERESULTS[])

Raised to determine whether files can be added to the project. Not used.

IVsTrackProjectDocumentsEvents2.OnQueryRemoveDirectories(IVsProject, Int32, String[], VSQUERYREMOVEDIRECTORYFLAGS[], VSQUERYREMOVEDIRECTORYRESULTS[], VSQUERYREMOVEDIRECTORYRESULTS[])

Raised to determine whether directories can be removed from the project. Not used.

IVsTrackProjectDocumentsEvents2.OnQueryRemoveFiles(IVsProject, Int32, String[], VSQUERYREMOVEFILEFLAGS[], VSQUERYREMOVEFILERESULTS[], VSQUERYREMOVEFILERESULTS[])

Raised to determine whether files can be removed from the project. Not used.

IVsTrackProjectDocumentsEvents2.OnQueryRenameDirectories(IVsProject, Int32, String[], String[], VSQUERYRENAMEDIRECTORYFLAGS[], VSQUERYRENAMEDIRECTORYRESULTS[], VSQUERYRENAMEDIRECTORYRESULTS[])

Raised to determine whether directories can be renamed in the project. Not used.

IVsTrackProjectDocumentsEvents2.OnQueryRenameFiles(IVsProject, Int32, String[], String[], VSQUERYRENAMEFILEFLAGS[], VSQUERYRENAMEFILERESULTS[], VSQUERYRENAMEFILERESULTS[])

Raised to determine whether files can be renamed in the project. Not used.

IVsUIHierarchy.AdviseHierarchyEvents(IVsHierarchyEvents, UInt32)

Subscribes to hierarchy events.

IVsUIHierarchy.Close()

Closes the project and cleans up its resources once the environment determines that it is no longer used.

IVsUIHierarchy.ExecCommand(UInt32, Guid, UInt32, UInt32, IntPtr, IntPtr)

Executes a command on a specific item within a UI hierarchy window, or on the hierarchy itself.

IVsUIHierarchy.GetCanonicalName(UInt32, String)

Gets the unique name associated with an item in the hierarchy. Used for workspace persistence, such as remembering window positions.

IVsUIHierarchy.GetGuidProperty(UInt32, Int32, Guid)

Gets properties whose values are GUIDs.

IVsUIHierarchy.GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)

Determines whether or not a node is a nested hierarchy.

IVsUIHierarchy.GetProperty(UInt32, Int32, Object)

Gets the value of a property for a given node.

IVsUIHierarchy.GetSite(IServiceProvider)

Gets the service provider from which to access the services.

IVsUIHierarchy.ParseCanonicalName(String, UInt32)

Returns the identifier of the hierarchy item, given its canonical name.

IVsUIHierarchy.QueryClose(Int32)

Determines whether the hierarchy can be closed.

IVsUIHierarchy.QueryStatusCommand(UInt32, Guid, UInt32, OLECMD[], IntPtr)

Gets the status of the specified commands.

IVsUIHierarchy.SetGuidProperty(UInt32, Int32, Guid)

Sets properties whose values are GUIDs.

IVsUIHierarchy.SetProperty(UInt32, Int32, Object)

Sets properties of a specific node or of the hierarchy.

IVsUIHierarchy.SetSite(IServiceProvider)

Sets the service provider from which to access the services.

IVsUIHierarchy.UnadviseHierarchyEvents(UInt32)

Disables client notification of hierarchy events.

IVsUIHierarchy.Unused0()

A placeholder for a future method.

IVsUIHierarchy.Unused1()

A placeholder for a future method.

IVsUIHierarchy.Unused2()

A placeholder for a future method.

IVsUIHierarchy.Unused3()

A placeholder for a future method.

IVsUIHierarchy.Unused4()

A placeholder for a future method.

Extension Methods

IsCapabilityMatch(IVsHierarchy, String)

Checks whether a given project matches the requirements prescribed in an AppliesTo expression.

EnumImportingProjects(IVsHierarchy)

Enumerates all the projects that are importing shared assets owned by the given Shared Project hierarchy.

EnumOwningProjectsOfSharedAssets(IVsHierarchy)

Enumerates all the Shared Projects that own and manage the shared assets being imported by the given project.

GetActiveProjectContext(IVsHierarchy)

Gets the active project context.

GetSharedItemsImportFullPaths(IVsHierarchy)

Gets the full paths of the shared ".projitems" files imported by the given project.

IsProjectImportingSharedAssets(IVsHierarchy)

Is the given project importing shared assets?

IsSharedAssetsProject(IVsHierarchy)

Is the given project a Shared Project?

SetActiveProjectContext(IVsHierarchy, IVsHierarchy)

Sets the active project context.

Applies to