aboutsummaryrefslogtreecommitdiff
path: root/src/engine/cache.h
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2018-12-29 22:12:08 -0600
committerSean Hall <r.sean.hall@gmail.com>2018-12-29 22:12:08 -0600
commit61847dddd4fd497057c780658e383c4627de19ec (patch)
treef85a845182922538ab9aa6ee85b0db3ab40c1f6e /src/engine/cache.h
parent8295f5f8fd28042e1a0a172d5afbba79178064c2 (diff)
downloadwix-61847dddd4fd497057c780658e383c4627de19ec.tar.gz
wix-61847dddd4fd497057c780658e383c4627de19ec.tar.bz2
wix-61847dddd4fd497057c780658e383c4627de19ec.zip
Import code from old v4 repo
Diffstat (limited to 'src/engine/cache.h')
-rw-r--r--src/engine/cache.h150
1 files changed, 150 insertions, 0 deletions
diff --git a/src/engine/cache.h b/src/engine/cache.h
new file mode 100644
index 00000000..95e6cb90
--- /dev/null
+++ b/src/engine/cache.h
@@ -0,0 +1,150 @@
1#pragma once
2// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9// structs
10
11// functions
12
13HRESULT CacheInitialize(
14 __in BURN_REGISTRATION* pRegistration,
15 __in BURN_VARIABLES* pVariables,
16 __in_z_opt LPCWSTR wzSourceProcessPath
17 );
18HRESULT CacheEnsureWorkingFolder(
19 __in LPCWSTR wzBundleId,
20 __deref_out_z_opt LPWSTR* psczWorkingFolder
21 );
22HRESULT CacheCalculateBundleWorkingPath(
23 __in_z LPCWSTR wzBundleId,
24 __in LPCWSTR wzExecutableName,
25 __deref_out_z LPWSTR* psczWorkingPath
26 );
27HRESULT CacheCalculateBundleLayoutWorkingPath(
28 __in_z LPCWSTR wzBundleId,
29 __deref_out_z LPWSTR* psczWorkingPath
30 );
31HRESULT CacheCalculatePayloadWorkingPath(
32 __in_z LPCWSTR wzBundleId,
33 __in BURN_PAYLOAD* pPayload,
34 __deref_out_z LPWSTR* psczWorkingPath
35 );
36HRESULT CacheCalculateContainerWorkingPath(
37 __in_z LPCWSTR wzBundleId,
38 __in BURN_CONTAINER* pContainer,
39 __deref_out_z LPWSTR* psczWorkingPath
40 );
41HRESULT CacheGetRootCompletedPath(
42 __in BOOL fPerMachine,
43 __in BOOL fForceInitialize,
44 __deref_out_z LPWSTR* psczRootCompletedPath
45 );
46HRESULT CacheGetCompletedPath(
47 __in BOOL fPerMachine,
48 __in_z LPCWSTR wzCacheId,
49 __deref_out_z LPWSTR* psczCompletedPath
50 );
51HRESULT CacheGetResumePath(
52 __in_z LPCWSTR wzPayloadWorkingPath,
53 __deref_out_z LPWSTR* psczResumePath
54 );
55HRESULT CacheFindLocalSource(
56 __in_z LPCWSTR wzSourcePath,
57 __in BURN_VARIABLES* pVariables,
58 __out BOOL* pfFound,
59 __out_z LPWSTR* psczSourceFullPath
60 );
61HRESULT CacheSetLastUsedSource(
62 __in BURN_VARIABLES* pVariables,
63 __in_z LPCWSTR wzSourcePath,
64 __in_z LPCWSTR wzRelativePath
65 );
66HRESULT CacheSendProgressCallback(
67 __in DOWNLOAD_CACHE_CALLBACK* pCallback,
68 __in DWORD64 dw64Progress,
69 __in DWORD64 dw64Total,
70 __in HANDLE hDestinationFile
71 );
72void CacheSendErrorCallback(
73 __in DOWNLOAD_CACHE_CALLBACK* pCallback,
74 __in HRESULT hrError,
75 __in_z_opt LPCWSTR wzError,
76 __out_opt BOOL* pfRetry
77 );
78BOOL CacheBundleRunningFromCache();
79HRESULT CacheBundleToCleanRoom(
80 __in BURN_PAYLOADS* pUxPayloads,
81 __in BURN_SECTION* pSection,
82 __deref_out_z_opt LPWSTR* psczCleanRoomBundlePath
83 );
84HRESULT CacheBundleToWorkingDirectory(
85 __in_z LPCWSTR wzBundleId,
86 __in_z LPCWSTR wzExecutableName,
87 __in BURN_PAYLOADS* pUxPayloads,
88 __in BURN_SECTION* pSection,
89 __deref_out_z_opt LPWSTR* psczEngineWorkingPath
90 );
91HRESULT CacheLayoutBundle(
92 __in_z LPCWSTR wzExecutableName,
93 __in_z LPCWSTR wzLayoutDirectory,
94 __in_z LPCWSTR wzSourceBundlePath
95 );
96HRESULT CacheCompleteBundle(
97 __in BOOL fPerMachine,
98 __in_z LPCWSTR wzExecutableName,
99 __in_z LPCWSTR wzBundleId,
100 __in BURN_PAYLOADS* pUxPayloads,
101 __in_z LPCWSTR wzSourceBundlePath
102#ifdef DEBUG
103 , __in_z LPCWSTR wzExecutablePath
104#endif
105 );
106HRESULT CacheLayoutContainer(
107 __in BURN_CONTAINER* pContainer,
108 __in_z_opt LPCWSTR wzLayoutDirectory,
109 __in_z LPCWSTR wzUnverifiedContainerPath,
110 __in BOOL fMove
111 );
112HRESULT CacheLayoutPayload(
113 __in BURN_PAYLOAD* pPayload,
114 __in_z_opt LPCWSTR wzLayoutDirectory,
115 __in_z LPCWSTR wzUnverifiedPayloadPath,
116 __in BOOL fMove
117 );
118HRESULT CacheCompletePayload(
119 __in BOOL fPerMachine,
120 __in BURN_PAYLOAD* pPayload,
121 __in_z_opt LPCWSTR wzCacheId,
122 __in_z LPCWSTR wzUnverifiedPayloadPath,
123 __in BOOL fMove
124 );
125HRESULT CacheRemoveWorkingFolder(
126 __in_z_opt LPCWSTR wzBundleId
127 );
128HRESULT CacheRemoveBundle(
129 __in BOOL fPerMachine,
130 __in_z LPCWSTR wzPackageId
131 );
132HRESULT CacheRemovePackage(
133 __in BOOL fPerMachine,
134 __in_z LPCWSTR wzPackageId,
135 __in_z LPCWSTR wzCacheId
136 );
137HRESULT CacheVerifyPayloadSignature(
138 __in BURN_PAYLOAD* pPayload,
139 __in_z LPCWSTR wzUnverifiedPayloadPath,
140 __in HANDLE hFile
141 );
142void CacheCleanup(
143 __in BOOL fPerMachine,
144 __in_z LPCWSTR wzBundleId
145 );
146void CacheUninitialize();
147
148#ifdef __cplusplus
149}
150#endif