00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 import "oaidl.idl";
00023 import "ocidl.idl";
00024
00025 import "miktexidl.idl";
00026
00027
00028
00029
00030
00031
00035 typedef [uuid(F92D6E8F-22CC-4585-8309-58440C5A0DFB)] struct MD5
00036 {
00038 BYTE bits[16];
00039 } MD5;
00040
00041
00042
00043
00044
00045
00046
00048 typedef [uuid(22A5E6E6-04B3-4540-A122-6A612210F52E)] struct PackageInfo
00049 {
00051 BSTR deploymentName;
00053 BSTR displayName;
00055 BSTR title;
00057 BSTR version;
00059 BSTR description;
00061 BSTR creator;
00063 DOUBLE sizeRunFiles;
00065 DOUBLE sizeDocFiles;
00067 DOUBLE sizeSourceFiles;
00069 LONG numRunFiles;
00071 LONG numDocFiles;
00073 LONG numSourceFiles;
00075 DATE timePackaged;
00077 DATE timeInstalled;
00079 LONG archiveFileSize;
00081 MD5 digest;
00083 VARIANT_BOOL isInstalled;
00084 } PackageInfo;
00085
00086
00087
00088
00089
00090
00095 [
00096 object,
00097 uuid(4B081787-2C08-4AFD-80E1-B4B3E23324B4),
00098 nonextensible,
00099 helpstring("IPackageInstallerCallback Interface"),
00100 pointer_default(unique)
00101 ]
00102 interface IPackageInstallerCallback : IUnknown
00103 {
00106 [
00107 helpstring("method ReportLine")
00108 ]
00109 HRESULT ReportLine ([in] BSTR line);
00110
00114 [
00115 helpstring("method OnRetryableError")
00116 ]
00117 HRESULT
00118 OnRetryableError ([in] BSTR message,
00119 [out,retval] VARIANT_BOOL * doContinue);
00120
00124 [
00125 helpstring("method OnProgress")
00126 ]
00127 HRESULT
00128 OnProgress ([in] LONG nf, [out,retval] VARIANT_BOOL * doContinue);
00129 };
00130
00131
00132
00133
00134
00135
00137 [
00138 object,
00139 uuid(74C7EE83-4851-4766-B471-9CF29E7C2DA3),
00140 dual,
00141 nonextensible,
00142 helpstring("IPackageInstaller Interface"),
00143 pointer_default(unique)
00144 ]
00145 interface IPackageInstaller : IDispatch
00146 {
00151 [
00152 id(1),
00153 helpstring("method Add")
00154 ]
00155 HRESULT
00156 Add ([in] BSTR packageName, [in] VARIANT_BOOL toBeInstalled);
00157
00161 [
00162 id(2),
00163 helpstring("method SetCallback")
00164 ]
00165 HRESULT
00166 SetCallback ([in] IUnknown * callback);
00167
00169 [
00170 id(3),
00171 helpstring("method InstallRemove")
00172 ]
00173 HRESULT
00174 InstallRemove ();
00175
00178 [
00179 id(4),
00180 helpstring("method GetLastError")
00181 ]
00182 HRESULT
00183 GetErrorInfo ([out,retval] ErrorInfo * errorInfo);
00184
00186 [
00187 id(5),
00188 helpstring("method UpdateDb")
00189 ]
00190 HRESULT
00191 UpdateDb ();
00192
00195 [
00196 id(6),
00197 helpstring("method SetRepository")
00198 ]
00199 HRESULT
00200 SetRepository ([in] BSTR repository);
00201 };
00202
00203
00204
00205
00206
00207
00209 [
00210 object,
00211 uuid(C6A0E0A9-532D-46DF-8969-0E0A17539FC9),
00212 dual,
00213 nonextensible,
00214 helpstring("IPackageManager Interface"),
00215 pointer_default(unique)
00216 ]
00217 interface IPackageManager : IDispatch
00218 {
00221 [
00222 id(1),
00223 helpstring("method CreateInstaller")
00224 ]
00225 HRESULT
00226 CreateInstaller ([out,retval] IPackageInstaller ** installer);
00227
00231 [
00232 id(2),
00233 helpstring("method GetPackageInfo")
00234 ]
00235 HRESULT
00236 GetPackageInfo ([in] BSTR packageName,
00237 [out,retval] PackageInfo * packageInfo);
00238 };
00239
00240
00241
00242
00243
00244
00246 [
00247 object,
00248 uuid(D02EF17D-1CEF-450B-9C58-ABBB3AE286CC),
00249 helpstring("IPackageIterator Interface"),
00250 pointer_default(unique)
00251 ]
00252 interface IPackageIterator : IUnknown
00253 {
00256 [
00257 helpstring("method GetNextPackageInfo")
00258 ]
00259 HRESULT
00260 GetNextPackageInfo ([out] PackageInfo * packageInfo,
00261 [out,retval] VARIANT_BOOL * done);
00262 };
00263
00264
00265
00266
00267
00268
00270 [
00271 object,
00272 uuid(847D93E9-E086-4F09-B8C5-91CDCCF12CF3),
00273 dual,
00274 nonextensible,
00275 helpstring("IPackageManager2 Interface"),
00276 pointer_default(unique)
00277 ]
00278 interface IPackageManager2 : IPackageManager
00279 {
00282 [
00283 id(3),
00284 helpstring("method CreatePackageIterator")
00285 ]
00286 HRESULT
00287 CreatePackageIterator ([out,retval] IPackageIterator ** iter);
00288 };
00289
00290
00291
00292
00293
00294
00296 [
00297 uuid(FF61470A-DC24-4526-9E7C-8B69AE558C7E),
00298 version(1.0),
00299 helpstring("MiKTeX 2.8 Package Manager")
00300 ]
00301 library MiKTeXPackageManager2_8
00302 {
00303 importlib("stdole2.tlb");
00304
00310 [
00311 uuid(80405147-9003-4E8C-88DE-4DCE92E1134A),
00312 helpstring("MiKTeX 2.8 Package Manager")
00313 ]
00314 coclass PackageManager2_8
00315 {
00316 interface IPackageManager;
00317 [default] interface IPackageManager2;
00318 };
00319
00320 struct MD5;
00321 struct PackageInfo;
00322 interface IPackageInstaller;
00323 interface IPackageInstallerCallback;
00324 interface IPackageIterator;
00325 };