• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *             Copyright Andrey Semashev 2018.
3  * Distributed under the Boost Software License, Version 1.0.
4  *    (See accompanying file LICENSE_1_0.txt or copy at
5  *          http://www.boost.org/LICENSE_1_0.txt)
6  */
7 /*!
8  * \file   shell_abi.cpp
9  * \author Andrey Semashev
10  * \date   10.03.2018
11  *
12  * \brief  This file contains ABI test for shell.hpp
13  */
14 
15 #include <boost/winapi/shell.hpp>
16 #include <windows.h>
17 #include <shellapi.h>
18 #include "abi_test_tools.hpp"
19 
main()20 int main()
21 {
22 #if BOOST_WINAPI_PARTITION_DESKTOP
23 
24     BOOST_WINAPI_TEST_TYPE_SAME(HICON);
25 
26     BOOST_WINAPI_TEST_CONSTANT(SHGFI_ICON);
27     BOOST_WINAPI_TEST_CONSTANT(SHGFI_DISPLAYNAME);
28     BOOST_WINAPI_TEST_CONSTANT(SHGFI_TYPENAME);
29     BOOST_WINAPI_TEST_CONSTANT(SHGFI_ATTRIBUTES);
30     BOOST_WINAPI_TEST_CONSTANT(SHGFI_ICONLOCATION);
31     BOOST_WINAPI_TEST_CONSTANT(SHGFI_EXETYPE);
32     BOOST_WINAPI_TEST_CONSTANT(SHGFI_SYSICONINDEX);
33     BOOST_WINAPI_TEST_CONSTANT(SHGFI_LINKOVERLAY);
34     BOOST_WINAPI_TEST_CONSTANT(SHGFI_SELECTED);
35 #if (BOOST_USE_WINAPI_VERSION >= BOOST_WINAPI_VERSION_WIN2K)
36     BOOST_WINAPI_TEST_CONSTANT(SHGFI_ATTR_SPECIFIED);
37 #endif
38     BOOST_WINAPI_TEST_CONSTANT(SHGFI_LARGEICON);
39     BOOST_WINAPI_TEST_CONSTANT(SHGFI_SMALLICON);
40     BOOST_WINAPI_TEST_CONSTANT(SHGFI_OPENICON);
41     BOOST_WINAPI_TEST_CONSTANT(SHGFI_SHELLICONSIZE);
42     BOOST_WINAPI_TEST_CONSTANT(SHGFI_PIDL);
43     BOOST_WINAPI_TEST_CONSTANT(SHGFI_USEFILEATTRIBUTES);
44 
45     BOOST_WINAPI_TEST_STRUCT(SHFILEINFOA, (hIcon)(iIcon)(dwAttributes)(szDisplayName)(szTypeName));
46     BOOST_WINAPI_TEST_STRUCT(SHFILEINFOW, (hIcon)(iIcon)(dwAttributes)(szDisplayName)(szTypeName));
47 
48 #endif // BOOST_WINAPI_PARTITION_DESKTOP
49 
50     return boost::report_errors();
51 }
52