1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef __RECONCIL_H__
|
---|
7 | #define __RECONCIL_H__
|
---|
8 |
|
---|
9 | #include <recguids.h>
|
---|
10 |
|
---|
11 | #ifdef __cplusplus
|
---|
12 | extern "C" {
|
---|
13 | #endif
|
---|
14 |
|
---|
15 | #define STATEBITS_FLAT (0x0001)
|
---|
16 |
|
---|
17 | #define REC_S_IDIDTHEUPDATES MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x1000)
|
---|
18 | #define REC_S_NOTCOMPLETE MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x1001)
|
---|
19 | #define REC_S_NOTCOMPLETEBUTPROPAGATE MAKE_SCODE(SEVERITY_SUCCESS,FACILITY_ITF,0x1002)
|
---|
20 |
|
---|
21 | #define REC_E_ABORTED MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1000)
|
---|
22 | #define REC_E_NOCALLBACK MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1001)
|
---|
23 | #define REC_E_NORESIDUES MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1002)
|
---|
24 | #define REC_E_TOODIFFERENT MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1003)
|
---|
25 | #define REC_E_INEEDTODOTHEUPDATES MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x1004)
|
---|
26 |
|
---|
27 | #undef INTERFACE
|
---|
28 | #define INTERFACE INotifyReplica
|
---|
29 |
|
---|
30 | DECLARE_INTERFACE_(INotifyReplica,IUnknown) {
|
---|
31 | STDMETHOD(QueryInterface)(THIS_ REFIID riid,PVOID *ppvObject) PURE;
|
---|
32 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
33 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
34 | STDMETHOD(YouAreAReplica)(THIS_ ULONG ulcOtherReplicas,IMoniker **rgpmkOtherReplicas) PURE;
|
---|
35 | };
|
---|
36 |
|
---|
37 | #undef INTERFACE
|
---|
38 | #define INTERFACE IReconcileInitiator
|
---|
39 | DECLARE_INTERFACE_(IReconcileInitiator,IUnknown) {
|
---|
40 | STDMETHOD(QueryInterface)(THIS_ REFIID riid,PVOID *ppvObject) PURE;
|
---|
41 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
42 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
43 | STDMETHOD(SetAbortCallback)(THIS_ IUnknown *punkForAbort) PURE;
|
---|
44 | STDMETHOD(SetProgressFeedback)(THIS_ ULONG ulProgress,ULONG ulProgressMax) PURE;
|
---|
45 | };
|
---|
46 |
|
---|
47 | typedef enum _reconcilef {
|
---|
48 | RECONCILEF_MAYBOTHERUSER = 0x0001,RECONCILEF_FEEDBACKWINDOWVALID = 0x0002,RECONCILEF_NORESIDUESOK = 0x0004,RECONCILEF_OMITSELFRESIDUE = 0x0008,
|
---|
49 | RECONCILEF_RESUMERECONCILIATION = 0x0010,RECONCILEF_YOUMAYDOTHEUPDATES = 0x0020,RECONCILEF_ONLYYOUWERECHANGED = 0x0040,
|
---|
50 | ALL_RECONCILE_FLAGS = (RECONCILEF_MAYBOTHERUSER | RECONCILEF_FEEDBACKWINDOWVALID | RECONCILEF_NORESIDUESOK | RECONCILEF_OMITSELFRESIDUE | RECONCILEF_RESUMERECONCILIATION | RECONCILEF_YOUMAYDOTHEUPDATES | RECONCILEF_ONLYYOUWERECHANGED)
|
---|
51 | } RECONCILEF;
|
---|
52 |
|
---|
53 | #undef INTERFACE
|
---|
54 | #define INTERFACE IReconcilableObject
|
---|
55 | DECLARE_INTERFACE_(IReconcilableObject,IUnknown) {
|
---|
56 | STDMETHOD(QueryInterface)(THIS_ REFIID riid,PVOID *ppvObject) PURE;
|
---|
57 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
58 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
59 | STDMETHOD(Reconcile)(THIS_ IReconcileInitiator *pInitiator,DWORD dwFlags,HWND hwndOwner,HWND hwndProgressFeedback,ULONG ulcInput,IMoniker **rgpmkOtherInput,PLONG plOutIndex,IStorage *pstgNewResidues,PVOID pvReserved) PURE;
|
---|
60 | STDMETHOD(GetProgressFeedbackMaxEstimate)(THIS_ PULONG pulProgressMax) PURE;
|
---|
61 | };
|
---|
62 |
|
---|
63 | #undef INTERFACE
|
---|
64 | #define INTERFACE IBriefcaseInitiator
|
---|
65 | DECLARE_INTERFACE_(IBriefcaseInitiator,IUnknown) {
|
---|
66 | STDMETHOD(QueryInterface)(THIS_ REFIID riid,PVOID *ppvObject) PURE;
|
---|
67 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
68 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
69 | STDMETHOD(IsMonikerInBriefcase)(THIS_ IMoniker *pmk) PURE;
|
---|
70 | };
|
---|
71 |
|
---|
72 | #ifdef __cplusplus
|
---|
73 | }
|
---|
74 | #endif
|
---|
75 | #endif
|
---|