Warning: That file was not part of the compilation database. It may have many parsing errors.

1/****************************************************************************
2**
3** Copyright (C) 2017 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the QtBluetooth module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU Lesser General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU Lesser
19** General Public License version 3 as published by the Free Software
20** Foundation and appearing in the file LICENSE.LGPL3 included in the
21** packaging of this file. Please review the following information to
22** ensure the GNU Lesser General Public License version 3 requirements
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24**
25** GNU General Public License Usage
26** Alternatively, this file may be used under the terms of the GNU
27** General Public License version 2.0 or (at your option) the GNU General
28** Public license version 3 or any later version approved by the KDE Free
29** Qt Foundation. The licenses are as published by the Free Software
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31** included in the packaging of this file. Please review the following
32** information to ensure the GNU General Public License requirements will
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34** https://www.gnu.org/licenses/gpl-3.0.html.
35**
36** $QT_END_LICENSE$
37**
38****************************************************************************/
39
40#include <QtCore/private/qeventdispatcher_winrt_p.h>
41
42#define Q_OS_WINRT
43#include <QtCore/qfunctions_winrt.h>
44
45#include <wrl.h>
46#include <windows.devices.bluetooth.h>
47
48using namespace Microsoft::WRL;
49using namespace Microsoft::WRL::Wrappers;
50using namespace ABI::Windows::Devices::Bluetooth;
51using namespace ABI::Windows::Foundation;
52
53QT_BEGIN_NAMESPACE
54
55#pragma warning (push)
56#pragma warning (disable: 4273)
57HRESULT QEventDispatcherWinRT::runOnXamlThread(const std::function<HRESULT()> &delegate, bool waitForRun)
58{
59 Q_UNUSED(waitForRun)
60 return delegate();
61}
62#pragma warning (pop)
63
64extern "C" BOOL WINAPI DllMain(HINSTANCE, DWORD reason, LPVOID)
65{
66 switch (reason)
67 {
68 case DLL_PROCESS_ATTACH: {
69 // Check if we are running on a recent enough Windows
70 HRESULT hr = OleInitialize(NULL);
71 if (FAILED(hr)) {
72 MessageBox(NULL, (LPCWSTR)L"OleInitialize failed.", (LPCWSTR)L"Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);
73 exit(-1);
74 }
75 ComPtr<IBluetoothDeviceStatics> deviceStatics;
76 hr = GetActivationFactory(HString::MakeReference(RuntimeClass_Windows_Devices_Bluetooth_BluetoothDevice).Get(), &deviceStatics);
77 if (hr == REGDB_E_CLASSNOTREG) {
78 QString error ("This Windows version (" + QSysInfo::kernelVersion() + ") does not "
79 "support the required Bluetooth API. Consider updating to a more recent Windows "
80 "(10.0.10586 or above).");
81 MessageBox(NULL, (LPCWSTR)error.constData(), (LPCWSTR)L"Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);
82 CoUninitialize();
83 exit(-1);
84 }
85 break;
86 }
87 case DLL_PROCESS_DETACH:
88 CoUninitialize();
89 }
90
91 return TRUE;
92}
93
94QT_END_NAMESPACE
95

Warning: That file was not part of the compilation database. It may have many parsing errors.