summaryrefslogtreecommitdiff
path: root/src/shared/corecon/corecon.h
blob: 7f0448b82351e8d703b290335a147c99987ba3d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

#ifndef CORECON_H
#define CORECON_H

#include <QtCore/qt_windows.h>
#include <QtCore/QList>
#include <QtCore/QScopedPointer>
#include <QtCore/QLoggingCategory>

QT_USE_NAMESPACE

class CoreConDevicePrivate;
class CoreConDevice
{
public:
    explicit CoreConDevice(int version);
    ~CoreConDevice();
    QString name() const;
    QString id() const;
    bool isEmulator() const;
    Qt::HANDLE handle() const;
private:
    QScopedPointer<CoreConDevicePrivate> d_ptr;
    Q_DECLARE_PRIVATE(CoreConDevice)
friend class CoreConServerPrivate;
};

class CoreConServerPrivate;
class CoreConServer
{
public:
    explicit CoreConServer(int version);
    ~CoreConServer();
    bool initialize();
    Qt::HANDLE handle() const;
    QList<CoreConDevice *> devices() const;
    QString formatError(HRESULT hr) const;
private:
    QScopedPointer<CoreConServerPrivate> d_ptr;
    Q_DECLARE_PRIVATE(CoreConServer)
};

Q_DECLARE_LOGGING_CATEGORY(lcCoreCon)

#endif // CORECON_H