/*
* Background Intelligent Transfer Service (BITS) interface
*
* Copyright 2007 Google (Roy Shea)
*
* 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
*
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
import "unknwn.idl";
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("#ifdef WINE_NO_UNICODE_MACROS")
cpp_quote("#undef EnumJobs")
cpp_quote("#undef GetJob")
cpp_quote("#endif")
[
]
interface IBackgroundCopyFile : IUnknown
{
);
);
);
}
[
]
interface IEnumBackgroundCopyFiles: IUnknown
{
[out,size_is(BG_ENUM_SIZEIS(celt)),length_is(BG_ENUM_LENGTHIS(celt,pceltFetched))] IBackgroundCopyFile **rgelt,
);
);
);
);
}
[
]
interface IBackgroundCopyError : IUnknown
{
typedef enum {
);
);
);
);
);
}
[
]
interface IBackgroundCopyJob : IUnknown
{
} BG_FILE_INFO;
} BG_JOB_TIMES;
typedef enum {
BG_JOB_PRIORITY_HIGH = 1,
typedef enum {
BG_JOB_STATE_QUEUED = 0,
BG_JOB_STATE_ERROR = 4,
} BG_JOB_STATE;
typedef enum {
BG_JOB_TYPE_DOWNLOAD = 0,
BG_JOB_TYPE_UPLOAD = 1,
} BG_JOB_TYPE;
typedef enum {
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
);
}
[
]
interface IEnumBackgroundCopyJobs : IUnknown
{
[out,size_is(BG_ENUM_SIZEIS(celt)),length_is(BG_ENUM_LENGTHIS(celt,pceltFetched))] IBackgroundCopyJob **rgelt,
);
);
);
);
}
[
]
interface IBackgroundCopyCallback : IUnknown
{
);
);
);
}
[
]
interface IBackgroundCopyManager : IUnknown
{
cpp_quote("#define BG_JOB_ENUM_ALL_USERS 0x0001")
);
);
);
}
[
version(1.0)
]
{
[
]
{
[default] interface IBackgroundCopyManager;
};
interface IBackgroundCopyCallback;
}