#ifndef SBK_SELECTIONPROXYMODELWRAPPER_H
#define SBK_SELECTIONPROXYMODELWRAPPER_H

// Workaround to access protected functions
#ifndef protected
#  define protected public
#endif

#include <selectionproxymodel.h>

#include <sbkpython.h>

#include <array>
namespace Shiboken { struct AutoDecRef; class GilState; }

class SelectionProxyModelWrapper : public Akonadi::SelectionProxyModel
{
public:
    SelectionProxyModelWrapper(::QItemSelectionModel * selectionModel, ::QObject * parent = nullptr);
    SelectionProxyModelWrapper(const SelectionProxyModelWrapper &) = delete;
    SelectionProxyModelWrapper& operator=(const SelectionProxyModelWrapper &) = delete;
    SelectionProxyModelWrapper(SelectionProxyModelWrapper &&) = delete;
    SelectionProxyModelWrapper& operator=(SelectionProxyModelWrapper &&) = delete;
    ~SelectionProxyModelWrapper() override;

    static void pysideInitQtMetaTypes();

private:
};

#endif // SBK_SELECTIONPROXYMODELWRAPPER_H
