// Copyright (C) 2025 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only

#ifndef PYSIDE_GLOBALS_P_H
#define PYSIDE_GLOBALS_P_H

#include <sbkpython.h>

namespace PySide
{

struct Globals // Per interpreter globals of libpyside
{
    PyTypeObject *newFeatureDictType = nullptr;
    PyObject *featureDict = nullptr;
    PyObject *cachedFeatureGlobals = nullptr;
    PyTypeObject *lastFeatureType = nullptr;
    int lastSelectedFeatureId = 0;
    PyTypeObject *qobjectType = nullptr;
    PyObject *emptyTuple = nullptr;
    PyObject *pickleReduceFunc;
    PyObject *pickleEvalFunc;
};

Globals *globals();

} //namespace PySide

#endif //PYSIDE_GLOBALS_P_H
