From 7f78caa81c0b33f40b0958974a8e5d4fb144856c Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Fri, 5 Apr 2013 22:28:52 +0400 Subject: [PATCH] include: Added IRowsetNotify definition and proxy/stub stub implementation. --- dlls/msdaps/usrmarshal.c | 40 ++++++++++++++++++++++ include/Makefile.in | 1 + include/oledb.idl | 3 ++ include/rstnot.idl | 74 ++++++++++++++++++++++++++++++++++++++++ tools/make_makefiles | 1 + 5 files changed, 119 insertions(+) create mode 100644 include/rstnot.idl diff --git a/dlls/msdaps/usrmarshal.c b/dlls/msdaps/usrmarshal.c index 3f2b9e6b9b3..39e4e4bf2e0 100644 --- a/dlls/msdaps/usrmarshal.c +++ b/dlls/msdaps/usrmarshal.c @@ -967,3 +967,43 @@ HRESULT __RPC_STUB IDBAsynchStatus_GetStatus_Stub(IDBAsynchStatus* This, HCHAPTE peAsynchPhase, ppwszStatusText, ppErrorInfoRem); return E_NOTIMPL; } + +HRESULT CALLBACK IRowsetNotify_OnRowChange_Proxy(IRowsetNotify* This, IRowset *rowset, DBCOUNTITEM rows, HROW *hrows, DBREASON reason, + DBEVENTPHASE phase, BOOL cantdeny) +{ + FIXME("(%p)->(%p %ld %p %d %d %d): stub\n", This, rowset, rows, hrows, reason, phase, cantdeny); + return E_NOTIMPL; +} + +HRESULT __RPC_STUB IRowsetNotify_OnRowChange_Stub(IRowsetNotify* This, IRowset *rowset, DBCOUNTITEM rows, HROW *hrows, DBREASON reason, + DBEVENTPHASE phase, BOOL cantdeny) +{ + FIXME("(%p)->(%p %ld %p %d %d %d): stub\n", This, rowset, rows, hrows, reason, phase, cantdeny); + return E_NOTIMPL; +} + +HRESULT CALLBACK IRowsetNotify_OnFieldChange_Proxy(IRowsetNotify* This, IRowset *rowset, HROW row, DBORDINAL ccols, DBORDINAL *columns, + DBREASON reason, DBEVENTPHASE phase, BOOL cantdeny) +{ + FIXME("(%p)->(%p %lx %ld %p %d %d %d): stub\n", This, rowset, row, ccols, columns, reason, phase, cantdeny); + return E_NOTIMPL; +} + +HRESULT __RPC_STUB IRowsetNotify_OnFieldChange_Stub(IRowsetNotify* This, IRowset *rowset, HROW row, DBORDINAL ccols, DBORDINAL *columns, + DBREASON reason, DBEVENTPHASE phase, BOOL cantdeny) +{ + FIXME("(%p)->(%p %lx %ld %p %d %d %d): stub\n", This, rowset, row, ccols, columns, reason, phase, cantdeny); + return E_NOTIMPL; +} + +HRESULT CALLBACK IRowsetNotify_OnRowsetChange_Proxy(IRowsetNotify* This, IRowset *rowset, DBREASON reason, DBEVENTPHASE phase, BOOL cantdeny) +{ + FIXME("(%p)->(%p %d %d %d): stub\n", This, rowset, reason, phase, cantdeny); + return E_NOTIMPL; +} + +HRESULT __RPC_STUB IRowsetNotify_OnRowsetChange_Stub(IRowsetNotify* This, IRowset *rowset, DBREASON reason, DBEVENTPHASE phase, BOOL cantdeny) +{ + FIXME("(%p)->(%p %d %d %d): stub\n", This, rowset, reason, phase, cantdeny); + return E_NOTIMPL; +} diff --git a/include/Makefile.in b/include/Makefile.in index 47df84caa87..9589c34b47c 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -484,6 +484,7 @@ SRCDIR_INCLUDES = \ rstbas.idl \ rstinf.idl \ rstloc.idl \ + rstnot.idl \ rtutils.h \ scarderr.h \ schannel.h \ diff --git a/include/oledb.idl b/include/oledb.idl index fb575017cd3..57b404d46a7 100644 --- a/include/oledb.idl +++ b/include/oledb.idl @@ -34,6 +34,8 @@ typedef LONG_PTR DBROWCOUNT; typedef ULONG_PTR DBCOUNTITEM; typedef ULONG_PTR DBLENGTH; typedef ULONG_PTR DBORDINAL; +typedef DWORD DBREASON; +typedef DWORD DBEVENTPHASE; typedef ULONG_PTR DBBKMARK; typedef DWORD_PTR DB_DWRESERVE; typedef ULONG_PTR DBREFCOUNT; @@ -66,6 +68,7 @@ typedef struct { #include "asynot.idl" #include "asysta.idl" #include "sesprp.idl" +#include "rstnot.idl" #include "opnrst.idl" #include "row.idl" #include "rowchg.idl" diff --git a/include/rstnot.idl b/include/rstnot.idl new file mode 100644 index 00000000000..c76691e3f26 --- /dev/null +++ b/include/rstnot.idl @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2013 Nikolay Sivov + * + * 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 + */ + +[ + object, + uuid(0c733a83-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRowsetNotify : IUnknown +{ + [local] + HRESULT OnFieldChange([in] IRowset *rowset, + [in] HROW row, + [in] DBORDINAL ccols, + [in, size_is((ULONG)ccols)] DBORDINAL *columns, + [in] DBREASON reason, + [in] DBEVENTPHASE phase, + [in] BOOL cantdeny); + + [call_as(OnFieldChange)] + HRESULT RemoteOnFieldChange( + [in] IRowset *rowset, + [in] HROW row, + [in] DBORDINAL ccols, + [in, size_is((ULONG)ccols)] DBORDINAL *columns, + [in] DBREASON reason, + [in] DBEVENTPHASE phase, + [in] BOOL cantdeny); + + [local] + HRESULT OnRowChange([in] IRowset *rowset, + [in] DBCOUNTITEM rows, + [in, size_is((ULONG)rows)] HROW *hrows, + [in] DBREASON reason, + [in] DBEVENTPHASE phase, + [in] BOOL cantdeny); + + [call_as(OnRowChange)] + HRESULT RemoteOnRowChange( + [in] IRowset *rowset, + [in] DBCOUNTITEM rows, + [in, size_is((ULONG)rows)] HROW *hrows, + [in] DBREASON reason, + [in] DBEVENTPHASE phase, + [in] BOOL cantdeny); + + [local] + HRESULT OnRowsetChange([in] IRowset *rowset, + [in] DBREASON reason, + [in] DBEVENTPHASE phase, + [in] BOOL cantdeny); + + [call_as(OnRowsetChange)] + HRESULT RemoteOnRowsetChange( + [in] IRowset *rowset, + [in] DBREASON reason, + [in] DBEVENTPHASE phase, + [in] BOOL cantdeny); +} diff --git a/tools/make_makefiles b/tools/make_makefiles index f408545c63a..91b136df52a 100755 --- a/tools/make_makefiles +++ b/tools/make_makefiles @@ -157,6 +157,7 @@ my %private_idl_headers = ( "rstbas.idl" => 1, "rstinf.idl" => 1, "rstloc.idl" => 1, + "rstnot.idl" => 1, "sesprp.idl" => 1, "vmrender.idl" => 1, "xmldom.idl" => 1,