aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/webassembly/webassemblydevice.cpp
blob: f453d5a5ca3a935906f55da0aeeed11d02ccfa11 (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
// Copyright (C) 2019 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0

#include "webassemblyconstants.h"
#include "webassemblydevice.h"
#include "webassemblytr.h"

using namespace ProjectExplorer;
using namespace Utils;

namespace WebAssembly {
namespace Internal {

WebAssemblyDevice::WebAssemblyDevice()
{
    setupId(IDevice::AutoDetected, Constants::WEBASSEMBLY_DEVICE_DEVICE_ID);
    setType(Constants::WEBASSEMBLY_DEVICE_TYPE);
    const QString displayNameAndType = Tr::tr("Web Browser");
    setDefaultDisplayName(displayNameAndType);
    setDisplayType(displayNameAndType);
    setDeviceState(IDevice::DeviceStateUnknown);
    setMachineType(IDevice::Hardware);
    setOsType(OsTypeOther);
    setFileAccess(nullptr);
}

IDevice::Ptr WebAssemblyDevice::create()
{
    return IDevicePtr(new WebAssemblyDevice);
}

WebAssemblyDeviceFactory::WebAssemblyDeviceFactory()
    : ProjectExplorer::IDeviceFactory(Constants::WEBASSEMBLY_DEVICE_TYPE)
{
    setDisplayName(Tr::tr("WebAssembly Runtime"));
    setCombinedIcon(":/webassembly/images/webassemblydevicesmall.png",
                    ":/webassembly/images/webassemblydevice.png");
    setConstructionFunction(&WebAssemblyDevice::create);
    setCreator(&WebAssemblyDevice::create);
}

} // namespace Internal
} // namespace WebAssembly