+++ /dev/null
-/*
- * Background Intelligent Transfer Service (BITS) interface
- *
- * Copyright 2007 Google (Roy Shea)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- *
- */
-
-#ifndef DO_NO_IMPORTS
-import "unknwn.idl";
-#endif
-
-cpp_quote("#include \"bitsmsg.h\"")
-cpp_quote("#define BG_SIZE_UNKNOWN (UINT64)(-1)")
-cpp_quote("#define BG_NOTIFY_JOB_TRANSFERRED 0x0001")
-cpp_quote("#define BG_NOTIFY_JOB_ERROR 0x0002")
-cpp_quote("#define BG_NOTIFY_DISABLE 0x0004")
-cpp_quote("#define BG_NOTIFY_JOB_MODIFICATION 0x0008")
-cpp_quote("#define BG_NOTIFY_FILE_TRANSFERRED 0x0010")
-
-cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
-cpp_quote("#undef EnumJobs")
-cpp_quote("#undef GetJob")
-cpp_quote("#endif")
-
-#define BG_ENUM_SIZEIS(maxcount) maxcount
-#define BG_ENUM_LENGTHIS(maxcount,lengthptr) lengthptr ? *lengthptr : maxcount
-
-[
- uuid(01b7bd23-fb88-4a77-8490-5891d3e4653a),
- odl
-]
-interface IBackgroundCopyFile : IUnknown
-{
- typedef struct _BG_FILE_PROGRESS {
- UINT64 BytesTotal;
- UINT64 BytesTransferred;
- BOOL Completed;
- } BG_FILE_PROGRESS;
-
- HRESULT GetRemoteName(
- [out] LPWSTR *pVal
- );
-
- HRESULT GetLocalName(
- [out] LPWSTR *pVal
- );
-
- HRESULT GetProgress(
- [out] BG_FILE_PROGRESS *pVal
- );
-}
-
-
-[
- uuid(ca51e165-c365-424c-8d41-24aaa4ff3c40),
- odl
-]
-interface IEnumBackgroundCopyFiles: IUnknown
-{
- HRESULT Next(
- [in] ULONG celt,
- [out,size_is(BG_ENUM_SIZEIS(celt)),length_is(BG_ENUM_LENGTHIS(celt,pceltFetched))] IBackgroundCopyFile **rgelt,
- [in,out,unique] ULONG *pceltFetched
- );
-
- HRESULT Skip(
- [in] ULONG celt
- );
-
- HRESULT Reset();
-
- HRESULT Clone(
- [out] IEnumBackgroundCopyFiles **ppenum
- );
-
- HRESULT GetCount(
- [out] ULONG *puCount
- );
-}
-
-
-[
- uuid(19c613a0-fcb8-4f28-81ae-897c3d078f81),
- odl
-]
-interface IBackgroundCopyError : IUnknown
-{
- typedef enum {
- BG_ERROR_CONTEXT_NONE = 0,
- BG_ERROR_CONTEXT_UNKNOWN = 1,
- BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER = 2,
- BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION =3,
- BG_ERROR_CONTEXT_LOCAL_FILE = 4,
- BG_ERROR_CONTEXT_REMOTE_FILE = 5,
- BG_ERROR_CONTEXT_GENERAL_TRANSPORT = 6,
- BG_ERROR_CONTEXT_REMOTE_APPLICATION =7,
- } BG_ERROR_CONTEXT;
-
- HRESULT GetError(
- [out,ref] BG_ERROR_CONTEXT *pContext,
- [out,ref] HRESULT *pCode
- );
-
- HRESULT GetFile(
- [out] IBackgroundCopyFile **pVal
- );
-
- HRESULT GetErrorDescription(
- [in] DWORD LanguageId,
- [out,ref] LPWSTR *pErrorDescription
- );
-
- HRESULT GetErrorContextDescription(
- [in] DWORD LanguageId,
- [out,ref] LPWSTR *pContextDescription
- );
-
- HRESULT GetProtocol(
- [out,ref] LPWSTR *pProtocol
- );
-}
-
-
-
-[
- uuid(37668d37-507e-4160-9316-26306d150b12),
- odl
-]
-interface IBackgroundCopyJob : IUnknown
-{
- typedef struct _BG_FILE_INFO {
- LPWSTR RemoteName;
- LPWSTR LocalName;
- } BG_FILE_INFO;
-
- typedef struct _BG_JOB_PROGRESS {
- UINT64 BytesTotal;
- UINT64 BytesTransferred;
- ULONG FilesTotal;
- ULONG FilesTransferred;
- } BG_JOB_PROGRESS;
-
- typedef struct _BG_JOB_TIMES {
- FILETIME CreationTime;
- FILETIME ModificationTime;
- FILETIME TransferCompletionTime;
- } BG_JOB_TIMES;
-
- typedef enum {
- BG_JOB_PRIORITY_FOREGROUND = 0,
- BG_JOB_PRIORITY_HIGH = 1,
- BG_JOB_PRIORITY_NORMAL = 2,
- BG_JOB_PRIORITY_LOW = 3
- } BG_JOB_PRIORITY;
-
- typedef enum {
- BG_JOB_STATE_QUEUED = 0,
- BG_JOB_STATE_CONNECTING = 1,
- BG_JOB_STATE_TRANSFERRING = 2,
- BG_JOB_STATE_SUSPENDED = 3,
- BG_JOB_STATE_ERROR = 4,
- BG_JOB_STATE_TRANSIENT_ERROR = 5,
- BG_JOB_STATE_TRANSFERRED = 6,
- BG_JOB_STATE_ACKNOWLEDGED = 7,
- BG_JOB_STATE_CANCELLED = 8
- } BG_JOB_STATE;
-
- typedef enum {
- BG_JOB_TYPE_DOWNLOAD = 0,
- BG_JOB_TYPE_UPLOAD = 1,
- BG_JOB_TYPE_UPLOAD_REPLY = 2
- } BG_JOB_TYPE;
-
- typedef enum {
- BG_JOB_PROXY_USAGE_PRECONFIG,
- BG_JOB_PROXY_USAGE_NO_PROXY,
- BG_JOB_PROXY_USAGE_OVERRIDE,
- BG_JOB_PROXY_USAGE_AUTODETECT
- } BG_JOB_PROXY_USAGE;
-
-
- HRESULT AddFileSet(
- [in] ULONG cFileCount,
- [in,size_is(cFileCount)] BG_FILE_INFO *pFileSet
- );
-
- HRESULT AddFile(
- [in] LPCWSTR RemoteUrl,
- [in] LPCWSTR LocalName
- );
-
- HRESULT EnumFiles(
- [out] IEnumBackgroundCopyFiles **pEnum
- );
-
- HRESULT Suspend();
-
- HRESULT Resume();
-
- HRESULT Cancel();
-
- HRESULT Complete();
-
- HRESULT GetId(
- [out] GUID *pVal
- );
-
- HRESULT GetType(
- [out] BG_JOB_TYPE *pVal
- );
-
- HRESULT GetProgress(
- [out] BG_JOB_PROGRESS *pVal
- );
-
- HRESULT GetTimes(
- [out] BG_JOB_TIMES *pVal
- );
-
- HRESULT GetState(
- [out] BG_JOB_STATE *pVal
- );
-
- HRESULT GetError(
- [out] IBackgroundCopyError **ppError
- );
-
- HRESULT GetOwner(
- [out] LPWSTR *pVal
- );
-
- HRESULT SetDisplayName(
- [in] LPCWSTR Val
- );
-
- HRESULT GetDisplayName(
- [out] LPWSTR *pVal
- );
-
- HRESULT SetDescription(
- [in] LPCWSTR Val
- );
-
- HRESULT GetDescription(
- [out] LPWSTR *pVal
- );
-
- HRESULT SetPriority(
- [in] BG_JOB_PRIORITY Val
- );
-
- HRESULT GetPriority(
- [out] BG_JOB_PRIORITY *pVal
- );
-
- HRESULT SetNotifyFlags(
- [in] ULONG Val
- );
-
- HRESULT GetNotifyFlags(
- [out] ULONG *pVal
- );
-
- HRESULT SetNotifyInterface(
- [in] IUnknown *Val
- );
-
- HRESULT GetNotifyInterface(
- [out] IUnknown ** pVal
- );
-
- HRESULT SetMinimumRetryDelay(
- [in] ULONG Seconds
- );
-
- HRESULT GetMinimumRetryDelay(
- [out] ULONG *Seconds
- );
-
- HRESULT SetNoProgressTimeout(
- [in] ULONG Seconds
- );
-
- HRESULT GetNoProgressTimeout(
- [out] ULONG *Seconds
- );
-
- HRESULT GetErrorCount(
- [out] ULONG *Errors
- );
-
- HRESULT SetProxySettings(
- [in] BG_JOB_PROXY_USAGE ProxyUsage,
- [in,string,unique] const WCHAR *ProxyList,
- [in,string,unique] const WCHAR *ProxyBypassList
- );
-
- HRESULT GetProxySettings(
- [out] BG_JOB_PROXY_USAGE *pProxyUsage,
- [out] LPWSTR *pProxyList,
- [out] LPWSTR *pProxyBypassList
- );
-
- HRESULT TakeOwnership();
-}
-
-[
- uuid(1af4f612-3b71-466f-8f58-7b6f73ac57ad),
- odl
-]
-interface IEnumBackgroundCopyJobs : IUnknown
-{
- HRESULT Next(
- [in] ULONG celt,
- [out,size_is(BG_ENUM_SIZEIS(celt)),length_is(BG_ENUM_LENGTHIS(celt,pceltFetched))] IBackgroundCopyJob **rgelt,
- [in,out,unique] ULONG *pceltFetched
- );
-
- HRESULT Skip(
- [in] ULONG celt
- );
-
- HRESULT Reset();
-
- HRESULT Clone(
- [out] IEnumBackgroundCopyJobs **ppenum
- );
-
- HRESULT GetCount(
- [out] ULONG *puCount
- );
-}
-
-
-[
- uuid(97ea99c7-0186-4ad4-8df9-c5b4e0ed6b22),
- odl
-]
-interface IBackgroundCopyCallback : IUnknown
-{
- HRESULT JobTransferred(
- [in] IBackgroundCopyJob *pJob
- );
-
- HRESULT JobError(
- [in] IBackgroundCopyJob *pJob,
- [in] IBackgroundCopyError *pError
- );
-
- HRESULT JobModification(
- [in] IBackgroundCopyJob *pJob,
- [in] DWORD dwReserved
- );
-}
-
-[
- uuid(5ce34c0d-0dc9-4c1f-897c-daa1b78cee7c),
- odl
-]
-interface IBackgroundCopyManager : IUnknown
-{
- cpp_quote("#define BG_JOB_ENUM_ALL_USERS 0x0001")
-
- HRESULT CreateJob(
- [in] LPCWSTR DisplayName,
- [in] BG_JOB_TYPE Type,
- [out] GUID *pJobId,
- [out] IBackgroundCopyJob **ppJob
- );
-
- HRESULT GetJob(
- [in] REFGUID jobID,
- [out] IBackgroundCopyJob **ppJob
- );
-
- HRESULT EnumJobs(
- [in] DWORD dwFlags,
- [out] IEnumBackgroundCopyJobs **ppEnum
- );
- HRESULT GetErrorDescription(
- [in] HRESULT hResult,
- [in] DWORD LanguageId,
- [out] LPWSTR *pErrorDescription);
-}
-
-
-[
- uuid(1deeb74f-7915-4560-b558-918c83f176a6),
- version(1.0)
-]
-library BackgroundCopyManager
-{
- [
- uuid(4991d34b-80a1-4291-83b6-3328366b9097),
- ]
- coclass BackgroundCopyManager
- {
- [default] interface IBackgroundCopyManager;
- };
-
- interface IBackgroundCopyCallback;
-}
-
-cpp_quote("#include \"bits1_5.h\"")