<table><tr><td style="">romangg added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D24003">View Revision</a></tr></table><br /><div><div><p>Header output with the patch:</p>
<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">#ifndef KWAYLAND_SERVER_WP_PRIMARY_SELECTION_UNSTABLE_V1_H
#define KWAYLAND_SERVER_WP_PRIMARY_SELECTION_UNSTABLE_V1_H
#include "global.h"
#include "resource.h"
#include <KWayland/Server/kwaylandserver_export.h>
namespace KWayland
{
namespace Server
{
class Display;
/**
* Enum describing the interface versions the PrimarySelectionDeviceManagerV1Interface can support.
*
* @since 5.XX
**/
enum class PrimarySelectionDeviceManagerV1InterfaceVersion {
/**
* zwp_primary_selection_device_manager_v1
**/
UnstableV1
};
/**
* Enum describing the interface versions the PrimarySelectionDeviceV1Interface can support.
*
* @since 5.XX
**/
enum class PrimarySelectionDeviceV1InterfaceVersion {
/**
* zwp_primary_selection_device_v1
**/
UnstableV1
};
/**
* Enum describing the interface versions the PrimarySelectionOfferV1Interface can support.
*
* @since 5.XX
**/
enum class PrimarySelectionOfferV1InterfaceVersion {
/**
* zwp_primary_selection_offer_v1
**/
UnstableV1
};
/**
* Enum describing the interface versions the PrimarySelectionSourceV1Interface can support.
*
* @since 5.XX
**/
enum class PrimarySelectionSourceV1InterfaceVersion {
/**
* zwp_primary_selection_source_v1
**/
UnstableV1
};
class KWAYLANDSERVER_EXPORT PrimarySelectionDeviceManagerV1Interface : public Global
{
Q_OBJECT
public:
virtual ~PrimarySelectionDeviceManagerV1Interface();
/**
* @returns The interface version used by this PrimarySelectionDeviceManagerV1Interface
**/
PrimarySelectionDeviceManagerV1InterfaceVersion interfaceVersion() const;
protected:
class Private;
explicit PrimarySelectionDeviceManagerV1Interface(Private *d, QObject *parent = nullptr);
private:
Private *d_func() const;
};
class KWAYLANDSERVER_EXPORT PrimarySelectionDeviceV1Interface : public Resource
{
Q_OBJECT
public:
virtual ~PrimarySelectionDeviceV1Interface();
/**
* @returns The interface version used by this PrimarySelectionDeviceV1Interface
**/
PrimarySelectionDeviceManagerV1InterfaceVersion interfaceVersion() const;
protected:
class Private;
explicit PrimarySelectionDeviceV1Interface(Private *p, QObject *parent = nullptr);
private:
Private *d_func() const;
};
class KWAYLANDSERVER_EXPORT PrimarySelectionOfferV1Interface : public Global
{
Q_OBJECT
public:
virtual ~PrimarySelectionOfferV1Interface();
/**
* @returns The interface version used by this PrimarySelectionOfferV1Interface
**/
PrimarySelectionOfferV1InterfaceVersion interfaceVersion() const;
protected:
class Private;
explicit PrimarySelectionOfferV1Interface(Private *d, QObject *parent = nullptr);
private:
Private *d_func() const;
};
class KWAYLANDSERVER_EXPORT PrimarySelectionSourceV1Interface : public Resource
{
Q_OBJECT
public:
virtual ~PrimarySelectionSourceV1Interface();
/**
* @returns The interface version used by this PrimarySelectionSourceV1Interface
**/
PrimarySelectionDeviceManagerV1InterfaceVersion interfaceVersion() const;
protected:
class Private;
explicit PrimarySelectionSourceV1Interface(Private *p, QObject *parent = nullptr);
private:
Private *d_func() const;
};
}
}
#endif</pre></div>
<p>Without it just the first enum is generated.</p>
<p>That being said only two of the four defined enums are actually used in the above skeleton and normally only one enum is defined which then determines all interfaces created by the manager. See for example:<br />
<a href="https://cgit.kde.org/kwayland.git/tree/src/server/textinput_interface.h" class="remarkup-link" target="_blank" rel="noreferrer">https://cgit.kde.org/kwayland.git/tree/src/server/textinput_interface.h</a></p>
<p>Mixing different versions does not make sense so it's enough to have one enum for all interfaces.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R127 KWayland</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D24003">https://phabricator.kde.org/D24003</a></div></div><br /><div><strong>To: </strong>gladhorn, KWin<br /><strong>Cc: </strong>romangg, zzag, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns<br /></div>