netprofm: Register interfaces.
[wine/wine-gecko.git] / include / netlistmgr.idl
blob6adca14656a86974d6beb2ed60fc01b87497fa34
1 /*
2 * Copyright 2014 Hans Leidekker for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 import "oaidl.idl";
20 import "objidl.idl";
22 #ifndef __WIDL__
23 #define threading(model)
24 #endif
26 interface IEnumNetworks;
27 interface IEnumNetworkConnections;
28 interface INetwork;
29 interface INetworkConnection;
30 interface INetworkListManager;
32 typedef [v1_enum] enum NLM_CONNECTIVITY
34 NLM_CONNECTIVITY_DISCONNECTED = 0x0000,
35 NLM_CONNECTIVITY_IPV4_NOTRAFFIC = 0x0001,
36 NLM_CONNECTIVITY_IPV6_NOTRAFFIC = 0x0002,
37 NLM_CONNECTIVITY_IPV4_SUBNET = 0x0010,
38 NLM_CONNECTIVITY_IPV4_LOCALNETWORK = 0x0020,
39 NLM_CONNECTIVITY_IPV4_INTERNET = 0x0040,
40 NLM_CONNECTIVITY_IPV6_SUBNET = 0x0100,
41 NLM_CONNECTIVITY_IPV6_LOCALNETWORK = 0x0200,
42 NLM_CONNECTIVITY_IPV6_INTERNET = 0x0400
43 } NLM_CONNECTIVITY;
45 typedef [v1_enum] enum NLM_ENUM_NETWORK
47 NLM_ENUM_NETWORK_CONNECTED = 0x01,
48 NLM_ENUM_NETWORK_DISCONNECTED = 0x02,
49 NLM_ENUM_NETWORK_ALL = 0x03
50 } NLM_ENUM_NETWORK;
53 dual,
54 object,
55 oleautomation,
56 pointer_default(unique),
57 uuid(dcb00000-570f-4a9b-8d69-199fdba5723b)
59 interface INetworkListManager : IDispatch
61 HRESULT GetNetworks(
62 [in] NLM_ENUM_NETWORK Flags,
63 [out, retval] IEnumNetworks **ppEnumNetwork);
65 HRESULT GetNetwork(
66 [in] GUID gdNetworkId,
67 [out, retval] INetwork **ppNetwork);
69 HRESULT GetNetworkConnections(
70 [out, retval] IEnumNetworkConnections **ppEnum);
72 HRESULT GetNetworkConnection(
73 [in] GUID gdNetworkConnectionId,
74 [out, retval] INetworkConnection **ppNetworkConnection);
76 HRESULT IsConnectedToInternet(
77 [out, retval] VARIANT_BOOL *pbIsConnected);
79 HRESULT IsConnected(
80 [out, retval] VARIANT_BOOL *pbIsConnected);
82 HRESULT GetConnectivity(
83 [out, retval] NLM_CONNECTIVITY *pConnectivity);
87 threading(both),
88 uuid(dcb00c01-570f-4a9b-8d69-199fdba5723b)
90 coclass NetworkListManager { interface INetworkListManager; }