annotate dwt/ole/win32/OlePropertyChangeSink.d @ 301:244e3774d515

Fixed missing casts to interface types.
author Frank Benoit <benoit@tionex.de>
date Thu, 28 Aug 2008 15:57:57 +0200
parents fd9c62a2998e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
98
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*******************************************************************************
246
fd9c62a2998e Updater SWT 3.4M7 to 3.4
Frank Benoit <benoit@tionex.de>
parents: 98
diff changeset
2 * Copyright (c) 2000, 2007 IBM Corporation and others.
98
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * All rights reserved. This program and the accompanying materials
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * which accompanies this distribution, and is available at
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * http://www.eclipse.org/legal/epl-v10.html
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 *
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Contributors:
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 * IBM Corporation - initial API and implementation
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 * Port to the D programming language:
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 * Frank Benoit <benoit@tionex.de>
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 *******************************************************************************/
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 module dwt.ole.win32.OlePropertyChangeSink;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 import dwt.DWT;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 import dwt.DWTException;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 import dwt.internal.ole.win32.COM;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19 import dwt.internal.ole.win32.extras;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 import dwt.internal.ole.win32.ifs;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 import dwt.ole.win32.OleControlSite;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 import dwt.ole.win32.OleEventTable;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 import dwt.ole.win32.OleListener;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 import dwt.ole.win32.OleEvent;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 import dwt.ole.win32.OleEventTable;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 import dwt.ole.win32.OLE;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 final class OlePropertyChangeSink {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 private OleControlSite controlSite;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 //private IUnknown objIUnknown;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 //private COMObject iUnknown;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 private _IPropertyNotifySinkImpl iPropertyNotifySink;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 private int refCount;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 private int propertyCookie;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 private OleEventTable eventTable;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 this(OleControlSite controlSite) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 this.controlSite = controlSite;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 createCOMInterfaces();
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 void addListener(int propertyID, OleListener listener) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 if (listener is null) OLE.error (__FILE__, __LINE__, DWT.ERROR_NULL_ARGUMENT);
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 if (eventTable is null) eventTable = new OleEventTable ();
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 eventTable.hook(propertyID, listener);
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 int AddRef() {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 refCount++;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 return refCount;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 void connect(IUnknown objIUnknown) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 // Set up property change notification sink
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 IConnectionPointContainer cpc;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 if (objIUnknown.QueryInterface(&COM.IIDIConnectionPointContainer, cast(void**)&cpc) is COM.S_OK) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 IConnectionPoint cp;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 if (cpc.FindConnectionPoint(&COM.IIDIPropertyNotifySink, &cp) is COM.S_OK) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 uint cookie;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 if (cp.Advise(iPropertyNotifySink, &cookie) is COM.S_OK) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 propertyCookie = cookie;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 cp.Release();
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 cpc.Release();
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 protected void createCOMInterfaces() {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 // register each of the interfaces that this object implements
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 iPropertyNotifySink = new _IPropertyNotifySinkImpl(this);
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78 void disconnect(IUnknown objIUnknown) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
80 // disconnect property notification sink
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
81 if (propertyCookie !is 0 && objIUnknown !is null) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
82 IConnectionPointContainer cpc;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
83 if (objIUnknown.QueryInterface(&COM.IIDIConnectionPointContainer, cast(void**)&cpc) is COM.S_OK) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
84 IConnectionPoint cp;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
85 if (cpc.FindConnectionPoint(&COM.IIDIPropertyNotifySink, &cp) is COM.S_OK) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
86 if (cp.Unadvise(propertyCookie) is COM.S_OK) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
87 propertyCookie = 0;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
88 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
89 cp.Release();
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
90 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
91 cpc.Release();
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 private void disposeCOMInterfaces() {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 iPropertyNotifySink = null;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
97 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 /**
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 * Notify listeners of an event.
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 * <p>
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 * This method notifies all listeners that an event
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102 * has occurred.
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
103 *
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104 * @param eventType the desired DWT event
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 * @param event the event data
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 *
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 * @exception IllegalArgumentException <ul>
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 * <li>ERROR_NULL_ARGUMENT when handler is null</li>
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
109 * </ul>
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110 * @exception DWTException <ul>
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111 * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 * </ul>
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114 */
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
115 private void notifyListener (int eventType, OleEvent event) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
116 if (event is null) OLE.error (__FILE__, __LINE__, DWT.ERROR_NULL_ARGUMENT);
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 if (eventTable is null) return;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 event.type = eventType;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119 event.widget = controlSite;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 eventTable.sendEvent (event);
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 package int OnChanged(int dispID) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123 if (eventTable is null || !eventTable.hooks(dispID)) return COM.S_OK;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 OleEvent event = new OleEvent();
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125 event.detail = OLE.PROPERTY_CHANGED;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
126 notifyListener(dispID,event);
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
127 return COM.S_OK;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
128 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129 package int OnRequestEdit(int dispID) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 if (eventTable is null || !eventTable.hooks(dispID)) return COM.S_OK;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131 OleEvent event = new OleEvent();
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132 event.doit = true;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133 event.detail = OLE.PROPERTY_CHANGING;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134 notifyListener(dispID,event);
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135 return (event.doit) ? COM.S_OK : COM.S_FALSE;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
137 protected HRESULT QueryInterface(REFIID riid, void ** ppvObject) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 if (riid is null || ppvObject is null)
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 return COM.E_INVALIDARG;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
141 if (COM.IsEqualGUID(riid, &COM.IIDIPropertyNotifySink)) {
301
244e3774d515 Fixed missing casts to interface types.
Frank Benoit <benoit@tionex.de>
parents: 246
diff changeset
142 *ppvObject = cast(void*)cast(IPropertyNotifySink)iPropertyNotifySink;
98
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143 AddRef();
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144 return COM.S_OK;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 *ppvObject = null;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
147 return COM.E_NOINTERFACE;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 int Release() {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 refCount--;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 if (refCount is 0) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152 disposeCOMInterfaces();
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 return refCount;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 void removeListener(int propertyID, OleListener listener) {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157 if (listener is null) OLE.error (__FILE__, __LINE__, DWT.ERROR_NULL_ARGUMENT);
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
158 if (eventTable is null) return;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 eventTable.unhook (propertyID, listener);
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
160 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 private class _IPropertyNotifySinkImpl : IPropertyNotifySink {
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
166 OlePropertyChangeSink parent;
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 this(OlePropertyChangeSink p) { parent = p; }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 extern (Windows):
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 // interface of IUnknown
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 HRESULT QueryInterface(REFIID riid, void ** ppvObject) { return parent.QueryInterface(riid, ppvObject); }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171 ULONG AddRef() { return parent.AddRef(); }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
172 ULONG Release() { return parent.Release(); }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 // interface of IPropertyNotifySink
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175 int OnChanged(int dispID) { return parent.OnChanged(dispID); }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 int OnRequestEdit(int dispID) { return parent.OnRequestEdit(dispID); }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
177 }
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
180
ecba636b634e package dwt/ole
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181