Hans Leidekker : netprofm: Create a connection point object for INetworkConnectionEvents.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Aug 6 10:15:43 CDT 2015


Module: wine
Branch: master
Commit: afb98a38ae5761cc1d31b748b0f31401fbb720fd
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=afb98a38ae5761cc1d31b748b0f31401fbb720fd

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Wed Aug  5 17:13:31 2015 +0200

netprofm: Create a connection point object for INetworkConnectionEvents.

---

 dlls/netprofm/list.c       |  3 ++-
 dlls/netprofm/tests/list.c |  4 ++++
 include/netlistmgr.idl     | 22 ++++++++++++++++++++++
 3 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/dlls/netprofm/list.c b/dlls/netprofm/list.c
index 1808178..245f7f4 100644
--- a/dlls/netprofm/list.c
+++ b/dlls/netprofm/list.c
@@ -551,7 +551,8 @@ static HRESULT WINAPI ConnectionPointContainer_FindConnectionPoint(IConnectionPo
         return E_POINTER;
 
     if (IsEqualGUID( riid, &IID_INetworkListManagerEvents ) ||
-        IsEqualGUID( riid, &IID_INetworkCostManagerEvents ))
+        IsEqualGUID( riid, &IID_INetworkCostManagerEvents ) ||
+        IsEqualGUID( riid, &IID_INetworkConnectionEvents ))
         return connection_point_create( cp, riid, iface );
 
     FIXME( "interface %s not implemented\n", debugstr_guid(riid) );
diff --git a/dlls/netprofm/tests/list.c b/dlls/netprofm/tests/list.c
index 7e885c3..1e1ba82 100644
--- a/dlls/netprofm/tests/list.c
+++ b/dlls/netprofm/tests/list.c
@@ -116,6 +116,10 @@ static void test_INetworkListManager( void )
     ok( hr == S_OK || hr == CO_E_FAILEDTOIMPERSONATE, "got %08x\n", hr );
     if (hr == S_OK) IConnectionPoint_Release( pt );
 
+    hr = IConnectionPointContainer_FindConnectionPoint( cpc, &IID_INetworkConnectionEvents, &pt );
+    ok( hr == S_OK || hr == CO_E_FAILEDTOIMPERSONATE, "got %08x\n", hr );
+    if (hr == S_OK) IConnectionPoint_Release( pt );
+
     IConnectionPointContainer_Release( cpc );
     INetworkListManager_Release( mgr );
 }
diff --git a/include/netlistmgr.idl b/include/netlistmgr.idl
index fd3ef77..e6328f4 100644
--- a/include/netlistmgr.idl
+++ b/include/netlistmgr.idl
@@ -175,3 +175,25 @@ interface INetworkListManagerEvents : IUnknown
     HRESULT ConnectivityChanged(
         [in] NLM_CONNECTIVITY newConnectivity);
 }
+
+[
+    object,
+    oleautomation,
+    pointer_default(unique),
+    uuid(dcb00007-570f-4a9b-8d69-199fdba5723b)
+]
+interface INetworkConnectionEvents : IUnknown
+{
+    typedef enum NLM_CONNECTION_PROPERTY_CHANGE
+    {
+        NLM_CONNECTION_PROPERTY_CHANGE_AUTHENTICATION = 1
+    } NLM_CONNECTION_PROPERTY_CHANGE;
+
+    HRESULT NetworkConnectionConnectivityChanged(
+        [in] GUID connectionId,
+        [in] NLM_CONNECTIVITY newConnectivity);
+
+    HRESULT NetworkConnectionPropertyChanged(
+        [in] GUID connectionId,
+        [in] NLM_CONNECTION_PROPERTY_CHANGE flags);
+}




More information about the wine-cvs mailing list