/*
    SPDX-FileCopyrightText: 2016 Martin Gräßlin <mgraesslin@kde.org>

    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
*/
#include "pointergestures_interface_p.h"

namespace KWaylandServer
{

PointerGesturesInterface::Private::Private(PointerGesturesInterfaceVersion interfaceVersion, PointerGesturesInterface *q, Display *d, const wl_interface *interface, quint32 version)
    : Global::Private(d, interface, version)
    , interfaceVersion(interfaceVersion)
    , q(q)
{
}

PointerGesturesInterface::PointerGesturesInterface(Private *d, QObject *parent)
    : Global(d, parent)
{
}

PointerGesturesInterface::~PointerGesturesInterface() = default;

PointerGesturesInterfaceVersion PointerGesturesInterface::interfaceVersion() const
{
    Q_D();
    return d->interfaceVersion;
}

PointerGesturesInterface::Private *PointerGesturesInterface::d_func() const
{
    return reinterpret_cast<Private*>(d.data());
}

PointerSwipeGestureInterface::Private::Private(PointerSwipeGestureInterface *q, Global *c, wl_resource *parentResource, const wl_interface *interface, const void *implementation, PointerInterface *pointer)
    : Resource::Private(q, c, parentResource, interface, implementation)
    , pointer(pointer)
{
}

PointerSwipeGestureInterface::Private::~Private()
{
    if (resource) {
        wl_resource_destroy(resource);
        resource = nullptr;
    }
}

PointerSwipeGestureInterface::PointerSwipeGestureInterface(Private *p, QObject *parent)
    : Resource(p, parent)
{
}

PointerSwipeGestureInterface::~PointerSwipeGestureInterface() = default;

PointerSwipeGestureInterface::Private *PointerSwipeGestureInterface::d_func() const
{
    return reinterpret_cast<Private*>(d.data());
}

PointerPinchGestureInterface::Private::Private(PointerPinchGestureInterface *q, Global *c, wl_resource *parentResource, const wl_interface *interface, const void *implementation, PointerInterface *pointer)
    : Resource::Private(q, c, parentResource, interface, implementation)
    , pointer(pointer)
{
}

PointerPinchGestureInterface::Private::~Private()
{
    if (resource) {
        wl_resource_destroy(resource);
        resource = nullptr;
    }
}

PointerPinchGestureInterface::PointerPinchGestureInterface(Private *p, QObject *parent)
    : Resource(p, parent)
{
}

PointerPinchGestureInterface::~PointerPinchGestureInterface() = default;

PointerPinchGestureInterface::Private *PointerPinchGestureInterface::d_func() const
{
    return reinterpret_cast<Private*>(d.data());
}

}
