Use reference instead of copy
[TortoiseGit.git] / src / GitWCRev / GitWCRevCOM.idl
blob7ff0dfc33553802be74f5617b6ce670fc4b15dd8
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2017-2018 - TortoiseGit
4 // Copyright (C) 2007-2013 - TortoiseSVN
6 // This program is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU General Public License
8 // as published by the Free Software Foundation; either version 2
9 // of the License, or (at your option) any later version.
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software Foundation,
18 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 import "wtypes.idl";
23 uuid(F2E334DC-2799-4961-9FCC-C324CB5FD205),
24 helpstring("GitWCRev Type Library"),
25 version(1.0)
27 library LibGitWCRev
29 importlib("stdole32.tlb");
32 uuid(41886E22-73C4-49E8-8831-37F79CED16FE),
33 dual,
34 oleautomation
36 interface IGitWCRev : IDispatch
38 [helpstring("Fetches the status information. Call this to initialize all the properties. The properties then reflect the status of the specified path.")]
39 HRESULT GetWCInfo([in] BSTR wcPath, [in]VARIANT_BOOL ignore_submodules);
41 [propget, helpstring("Returns the working tree revision")]
42 HRESULT Revision([out, retval]VARIANT* rev);
44 [propget, helpstring("Returns the name of the current branch, SHA-1 if HEAD is detached")]
45 HRESULT Branch([out, retval]VARIANT* branch);
47 [propget, helpstring("Returns the working tree HEAD commit date as a string")]
48 HRESULT Date([out, retval]VARIANT* date);
50 [propget, helpstring("Returns the working tree HEAD author as a string")]
51 HRESULT Author([out, retval]VARIANT* author);
53 [propget, helpstring("TRUE if the path passed to GetWCInfo has modifications")]
54 HRESULT HasModifications([out, retval]VARIANT_BOOL* modifications);
56 [propget, helpstring("TRUE if the path passed to GetWCInfo has unversioned items")]
57 HRESULT HasUnversioned([out, retval]VARIANT_BOOL* unversioned);
59 [propget, helpstring("TRUE if the HEAD commit is tagged")]
60 HRESULT IsWcTagged([out, retval]VARIANT_BOOL* tagged);
62 [propget, helpstring("TRUE if the working tree branch is unborn")]
63 HRESULT IsUnborn([out, retval]VARIANT_BOOL* unborn);
65 [propget, helpstring("TRUE if the path passed to GetWCInfo is under Git version control (directories return FALSE if not the working tree root)")]
66 HRESULT IsGitItem([out, retval]VARIANT_BOOL* versioned);
68 [propget, helpstring("TRUE if the path passed to GetWCInfo has at least one submodule")]
69 HRESULT HasSubmodule([out, retval]VARIANT_BOOL* has_submodule);
71 [propget, helpstring("TRUE if the at least one submodule has uncommitted changes")]
72 HRESULT HasSubmoduleModifications([out, retval]VARIANT_BOOL* modifications);
74 [propget, helpstring("TRUE if the at least one submodule has unversioned items")]
75 HRESULT HasSubmoduleUnversioned([out, retval]VARIANT_BOOL* unversioned);
77 [propget, helpstring("TRUE if all submodule HEADs match the committed ones")]
78 HRESULT IsSubmoduleUp2Date([out, retval]VARIANT_BOOL* up2date);
80 [propget, helpstring("Number of first-parent commits from HEAD to start")]
81 HRESULT CommitCount([out, retval]VARIANT* rev);
85 [ uuid(9642A3D3-7425-49F6-8F75-6A001F716AED),
86 helpstring("GitWCRev object")
88 coclass GitWCRev
90 [default] interface IGitWCRev;