Synchronize with trunk r58606.
[reactos.git] / dll / win32 / wuapi / searcher.c
index 8105681..95caf7a 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+
 #define COBJMACROS
 
-#include "config.h"
+#include <config.h>
 #include <stdarg.h>
 
-#include "windef.h"
-#include "winbase.h"
-#include "winuser.h"
-#include "ole2.h"
-#include "wuapi.h"
+#include <windef.h>
+#include <winbase.h>
+//#include "winuser.h"
+#include <ole2.h>
+#include <wuapi.h>
 
-#include "wine/debug.h"
+#include <wine/debug.h>
 
 WINE_DEFAULT_DEBUG_CHANNEL(wuapi);
 
 typedef struct _update_searcher
 {
-    const struct IUpdateSearcherVtbl *vtbl;
+    IUpdateSearcher IUpdateSearcher_iface;
     LONG refs;
 } update_searcher;
 
 static inline update_searcher *impl_from_IUpdateSearcher( IUpdateSearcher *iface )
 {
-    return (update_searcher *)((char *)iface - FIELD_OFFSET( update_searcher, vtbl ));
+    return CONTAINING_RECORD(iface, update_searcher, IUpdateSearcher_iface);
 }
 
 static ULONG WINAPI update_searcher_AddRef(
@@ -217,6 +220,74 @@ static HRESULT WINAPI update_searcher_EndSearch(
     return E_NOTIMPL;
 }
 
+static HRESULT WINAPI update_searcher_EscapeString(
+    IUpdateSearcher *This,
+    BSTR unescaped,
+    BSTR *retval )
+{
+    FIXME("\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI update_searcher_QueryHistory(
+    IUpdateSearcher *This,
+    LONG startIndex,
+    LONG count,
+    IUpdateHistoryEntryCollection **retval )
+{
+    FIXME("\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI update_searcher_Search(
+    IUpdateSearcher *This,
+    BSTR criteria,
+    ISearchResult **retval )
+{
+    FIXME("\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI update_searcher_get_Online(
+    IUpdateSearcher *This,
+    VARIANT_BOOL *retval )
+{
+    FIXME("\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI update_searcher_put_Online(
+    IUpdateSearcher *This,
+    VARIANT_BOOL value )
+{
+    FIXME("\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI update_searcher_GetTotalHistoryCount(
+    IUpdateSearcher *This,
+    LONG *retval )
+{
+    FIXME("\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI update_searcher_get_ServiceID(
+    IUpdateSearcher *This,
+    BSTR *retval )
+{
+    FIXME("\n");
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI update_searcher_put_ServiceID(
+    IUpdateSearcher *This,
+    BSTR value )
+{
+    FIXME("\n");
+    return E_NOTIMPL;
+}
+
 static const struct IUpdateSearcherVtbl update_searcher_vtbl =
 {
     update_searcher_QueryInterface,
@@ -235,7 +306,15 @@ static const struct IUpdateSearcherVtbl update_searcher_vtbl =
     update_searcher_get_ServerSelection,
     update_searcher_put_ServerSelection,
     update_searcher_BeginSearch,
-    update_searcher_EndSearch
+    update_searcher_EndSearch,
+    update_searcher_EscapeString,
+    update_searcher_QueryHistory,
+    update_searcher_Search,
+    update_searcher_get_Online,
+    update_searcher_put_Online,
+    update_searcher_GetTotalHistoryCount,
+    update_searcher_get_ServiceID,
+    update_searcher_put_ServiceID
 };
 
 HRESULT UpdateSearcher_create( IUnknown *pUnkOuter, LPVOID *ppObj )
@@ -247,10 +326,10 @@ HRESULT UpdateSearcher_create( IUnknown *pUnkOuter, LPVOID *ppObj )
     searcher = HeapAlloc( GetProcessHeap(), 0, sizeof(*searcher) );
     if (!searcher) return E_OUTOFMEMORY;
 
-    searcher->vtbl = &update_searcher_vtbl;
+    searcher->IUpdateSearcher_iface.lpVtbl = &update_searcher_vtbl;
     searcher->refs = 1;
 
-    *ppObj = &searcher->vtbl;
+    *ppObj = &searcher->IUpdateSearcher_iface;
 
     TRACE("returning iface %p\n", *ppObj);
     return S_OK;