1 /*
2  * PROJECT:         ReactOS api tests
3  * LICENSE:         LGPLv2.1+ - See COPYING.LIB in the top level directory
4  * PURPOSE:         COM interface test for netshell classes
5  * PROGRAMMER:      Thomas Faber <thomas.faber@reactos.org>
6  */
7 
8 #include "com_apitest.h"
9 
10 #define NDEBUG
11 #include <debug.h>
12 
13 static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
14 {
15     {
16         ID_NAME(CLSID_ConnectionCommonUi),
17         {
18             {    0x0,   &IID_IUnknown },
19         },
20         L"Both"
21     },
22     {
23         ID_NAME(CLSID_NetworkConnections),
24         {
25             {    0x0,   &IID_IPersistFolder2 },
26             {    0x0,       &IID_IPersistFolder },
27             {    0x0,           &IID_IPersist },
28             {    0x0,               &IID_IUnknown },
29             {    0x4,   &IID_IShellExtInit },
30             {    0x8,   &IID_IShellFolder2 },
31             {    0x8,       &IID_IShellFolder },
32             {    0xc,   &IID_IOleCommandTarget },
33             {   0x10,   &IID_IShellFolderViewCB },
34         },
35         L"Both"
36     },
37     {
38         ID_NAME(CLSID_ConnectionFolderEnum),
39         {
40             {    0x0,   &IID_IEnumIDList },
41             {    0x0,       &IID_IUnknown },
42         },
43         L"Both"
44     },
45 #if 0
46     {
47         ID_NAME(CLSID_ConnectionManager),
48         {
49             {    0x0,   &IID_IUnknown },
50         }
51     },
52 #endif
53     {
54         ID_NAME(CLSID_ConnectionTray),
55         {
56             {    0x0,   &IID_IOleCommandTarget },
57             {    0x0,       &IID_IUnknown },
58         },
59         L"Both"
60     },
61     {
62         ID_NAME(CLSID_DialupConnectionUi),
63         {
64             {    0x0,   &IID_INetConnectionConnectUi },
65             {    0x0,       &IID_IUnknown },
66             {    0x4,   &IID_INetConnectionPropertyUi2 },
67             //{    0x4,       &IID_INetConnectionPropertyUi },
68         },
69         L"Both"
70     },
71     {
72         ID_NAME(CLSID_DirectConnectionUi),
73         {
74             {    0x0,   &IID_INetConnectionConnectUi },
75             {    0x0,       &IID_IUnknown },
76             {    0x4,   &IID_INetConnectionPropertyUi2 },
77             //{    0x4,       &IID_INetConnectionPropertyUi },
78         },
79         L"Both"
80     },
81     {
82         ID_NAME(CLSID_InboundConnectionUi),
83         {
84             {    0x0,   &IID_INetConnectionPropertyUi2 },
85             {    0x0,       &IID_IUnknown },
86         },
87         L"Both"
88     },
89     {
90         ID_NAME(CLSID_InternetConnectionUi),
91         {
92             {    0x0,   &IID_INetConnectionConnectUi },
93             {    0x0,       &IID_IUnknown },
94             {    0x4,   &IID_INetConnectionPropertyUi2 },
95             //{    0x4,       &IID_INetConnectionPropertyUi },
96         },
97         L"Both"
98     },
99     {
100         ID_NAME(CLSID_LanConnectionUi),
101         {
102             {    0x0,   &IID_INetConnectionConnectUi },
103             {    0x0,       &IID_IUnknown },
104             {    0x4,   &IID_INetConnectionPropertyUi2 },
105             {    0x4,       &IID_INetConnectionPropertyUi },
106             {   0x10,   &IID_INetLanConnectionUiInfo },
107         },
108         L"Both"
109     },
110     {
111         ID_NAME(CLSID_NetConnectionUiUtilities),
112         {
113             {    0x0,   &IID_IUnknown },
114         },
115         L"Both"
116     },
117     {
118         ID_NAME(CLSID_SharedAccessConnectionUi),
119         {
120             {    0x0,   &IID_INetConnectionConnectUi },
121             {    0x0,       &IID_IUnknown },
122             {    0x4,   &IID_INetConnectionPropertyUi2 },
123             {    0x4,       &IID_INetConnectionPropertyUi },
124         },
125         L"Both"
126     },
127     {
128         ID_NAME(CLSID_PPPoEUi),
129         {
130             {    0x0,   &IID_INetConnectionConnectUi },
131             {    0x0,       &IID_IUnknown },
132             {    0x4,   &IID_INetConnectionPropertyUi2 },
133             //{    0x4,       &IID_INetConnectionPropertyUi },
134         },
135         L"Both"
136     },
137     {
138         ID_NAME(CLSID_VpnConnectionUi),
139         {
140             {    0x0,   &IID_INetConnectionConnectUi },
141             {    0x0,       &IID_IUnknown },
142             {    0x4,   &IID_INetConnectionPropertyUi2 },
143             //{    0x4,       &IID_INetConnectionPropertyUi },
144         },
145         L"Both"
146     },
147 };
148 static const INT ExpectedInterfaceCount = RTL_NUMBER_OF(ExpectedInterfaces);
149 
150 START_TEST(netshell)
151 {
152     TestClasses(L"netshell", ExpectedInterfaces, ExpectedInterfaceCount);
153 }
154