summaryrefslogtreecommitdiffstats
path: root/examples/demos/colorpaletteclient/restservice.cpp
blob: e38e3bc835dd747bbef9c15b16aeb7c5173db3bb (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
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

#include "restservice.h"
#include "abstractresource.h"
#include "restaccessmanager.h"

RestService::RestService(QObject* parent) : QObject(parent)
{
    m_manager = std::make_shared<RestAccessManager>();
}

RestAccessManager* RestService::network() const
{
    return m_manager.get();
}

void RestService::setUrl(const QUrl& url)
{
    if (m_url == url)
         return;
    m_url = url;
    m_manager->setUrl(url);
    emit urlChanged();
}

QUrl RestService::url() const
{
    return m_url;
}

QQmlListProperty<AbstractResource> RestService::resources()
{
    return {this, &m_resources};
}

void RestService::classBegin()
{
}

void RestService::componentComplete()
{
    for (const auto resource : std::as_const(m_resources))
        resource->setAccessManager(m_manager);
}