1 /*------------------------------------------------------------------------------
2 Copyright (c) Microsoft Corporation. All rights reserved.
6 @module IVsSccAddWebProjectFromSourceControl.idl - The IDL File describing the "Add Web Project From Source Control" interface |
7 IDL source for interface allowing adding a web project from source control and.
9 @owner Microsoft Corporation, Visual Studio Core Team
10 ------------------------------------------------------------------------------*/
12 #if
!defined
(CTC_INVOKED
) && !defined
(RGS_INVOKED
)
14 cpp_quote
("#pragma once")
16 //------------------------------------------------------------------------------
24 //------------------------------------------------------------------------------
25 // How this interface should be used:
26 //------------------------------------------------------------------------------
28 // VB/C#/etc project will query this interface from SccMangager and they will be guaranteed to receive a non-NULL pointer
29 // because the interface is implemented by the Scci integration package.
31 // To determine whether the active scc provider supports indeed web functionality, the project system should call
32 // IsAddWebProjectSupported(). If the scenario is supported, the controls on the AddWeb...FromSourceControl dialog will be enabled.
34 // When the user clicks the Browse button in such dialog, the project system will call BrowseForServerLocation().
35 // The returned values are: suggested local path, displayable server location, some opaque strings identifying the provider and server location
36 // Examples of strings that can be returned by BrowseForServerLocation():
38 // VisualSourceSafe 7.0:
39 // 'WebProject1 from FriendlyDatabaseName'
40 // 'C:\Web Projects\WebProject1'
41 // 'msss://SomeServer/SourceSafe70Share:/~files:Ws="SSWorkspace"/Web Projects/WebProject1'
43 // '{53544C4D-B03D-4209-A7D0-D9DD13A4019B}:VAPI:VSS70'
45 // VisualSourceSafe 6.0 using MSSCCI:
46 // '$/Web Projects/WebProject1 from \\SomeServer\SourceSafe70Share'
47 // 'C:\Web Projects\WebProject1'
48 // '$/Web Projects/WebProject1'
49 // '\\SomeServer\SourceSafe70Share'
50 // '{53544C4D-B03D-4209-A7D0-D9DD13A4019B}:MSSCCI:SourceSafe'
52 // The project system is allowed to display only the database description string and the local path
53 // The user can change the local path before the project will call
54 // All other strings returned by BrowseForServerLocation() should be passed unchanged to AddWebProjectFromSourceControl()
57 //------------------------------------------------------------------------------
59 ////////////////////////////////////////////////////////////////////////////
60 // IDL source for interface allowing adding a web project from source control.
61 // Interface GUID {53544c4d-724A-46C8-8D01-6D4518CA118C}
62 // DEFINE_GUID(GUID_IVsSccAddWebProjectFromSourceControl, 0x53544c4d, 0x724A, 0x46C8, 0x8D, 0x01, 0x6D, 0x45, 0x18, 0xCA, 0x11, 0x8C);
63 ////////////////////////////////////////////////////////////////////////////
64 [ uuid(53544c4d
-724A
-46C8
-8D01
-6D4518CA118C
) ]
65 interface IVsSccAddWebProjectFromSourceControl
: IUnknown
67 // @cmember Returns whether the provider supports adding web projects from scc scenarios
68 // S_OK - check the value from pfResult to see if the provider can add web from scc.
69 // S_FALSE - there is no active provider set or the provider does not implement this interface, don't enable the controls
70 // E_FAIL or other failure code - unknown error, don't enable the controls
71 HRESULT IsAddWebProjectSupported
73 [out] VARIANT_BOOL * pfResult
// @parm [out] Whether AddWeb project scenario is supported
76 // @cmember Displays the provider specific dialog that allows browsing for a server location which is returned to the caller
77 // S_OK - project was selected
78 // S_FALSE - the user canceled the browse dialog
79 // E_FAIL or other failure code - unknown error, don't call AddWebProjectFromSourceControl
80 HRESULT BrowseForServerLocation
82 [out] BSTR * pbstrLocationDescription
, // @parm [out] A nice description string of the returned path that can be shown to the user (e.g. "Project <MyProject> from database <GemSS>");
83 [out] BSTR * pbstrLocalPath
, // @parm [out] The suggested local path where this project will be get from scc. The user can override this string and pass a custom local path when calling AddWebProjectFromSourceControl
84 [out] BSTR * pbstrDatabasePath
, // @parm [out] The location in the database, in a non-displayable format. This string will be passed unmodified to AddWebProjectFromSourceControl.
85 [out] BSTR * pbstrAuxiliarPath
, // @parm [out] Additional path. Providers are not required to use this path, but some of them might do it (e.g. MSSCCI providers)
86 [out] BSTR * pbstrProviderName
// @parm [out] A string identifying the source control provider used. This string will be passed unmodified to AddWebProjectFromSourceControl.
89 // @cmember Add the specified web project (to the solution) from source control.
90 HRESULT AddWebProjectFromSourceControl
92 [in] BSTR bstrLocalPath
, // @parm [in] The local path where this project will be get from scc
93 [in] BSTR bstrDatabasePath
, // @parm [in] The location of the project in the database
94 [in] BSTR bstrAuxiliarPath
, // @parm [in] Additional path that can be used to locate the project in the database
95 [in] BSTR bstrProviderName
, // @parm [in] The string identifying the source control provider used
96 [in] BSTR bstrDebuggingPath
// @parm [in] The debugging path to be used when the project will be opened with the solution, if the project will be opened as a localhost web project
100 //------------------------------------------------------------------------------
102 ////////////////////////////////////////////////////////////////////////////
103 // CLSIDs and Service IDs that don't get defined in the generated .h file
104 ////////////////////////////////////////////////////////////////////////////
106 //------------------------------------------------------------------------------
108 #elif defined
(RGS_INVOKED
)
111 //------------------------------------------------------------------------------
113 #elif defined
(CTC_INVOKED
)