/*
 * Internal module API header file.
 *
 * Generated by SIP 4.19.23
 *
 * Copyright (c) 2020 Riverbank Computing Limited <info@riverbankcomputing.com>
 * 
 * This file is part of PyQt5.
 * 
 * This file may be used under the terms of the GNU General Public License
 * version 3.0 as published by the Free Software Foundation and appearing in
 * the file LICENSE included in the packaging of this file.  Please review the
 * following information to ensure the GNU General Public License version 3.0
 * requirements will be met: http://www.gnu.org/copyleft/gpl.html.
 * 
 * If you do not wish to use this file under the terms of the GPL version 3.0
 * then you may purchase a commercial license.  For more information contact
 * info@riverbankcomputing.com.
 * 
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */

#ifndef _pyrccAPI_H
#define _pyrccAPI_H

#if !defined(Py_LIMITED_API)
#define Py_LIMITED_API
#endif

#include <sip.h>

#include <QMetaType>
#include <QThread>

/* These are the qualifiers that are enabled. */
#define SIP_FEATURE_PyQt_CONSTEXPR
#define SIP_FEATURE_PyQt_WebChannel
#define SIP_FEATURE_PyQt_MacOSXOnly
#define SIP_FEATURE_PyQt_Process
#define SIP_FEATURE_PyQt_NotBootstrapped
#define SIP_FEATURE_PyQt_OpenGL
#define SIP_FEATURE_PyQt_RawFont
#define SIP_FEATURE_PyQt_PrintPreviewDialog
#define SIP_FEATURE_PyQt_PrintPreviewWidget
#define SIP_FEATURE_PyQt_Printer
#define SIP_FEATURE_PyQt_PrintDialog
#define SIP_FEATURE_Py_v3
#define SIP_FEATURE_PyQt_qreal_double
#define SIP_FEATURE_PyQt_SSL
#define SIP_PLATFORM_WS_X11
#define SIP_TIMELINE_Qt_5_15_0


/*
 * Convenient names to refer to various strings defined in this module.
 * Only the class names are part of the public API.
 */
#define sipNameNr_CONSTANT_COMPRESSTHRESHOLD_DEFAULT 0
#define sipName_CONSTANT_COMPRESSTHRESHOLD_DEFAULT &sipStrings_pyrcc[0]
#define sipNameNr_CONSTANT_COMPRESSLEVEL_DEFAULT 35
#define sipName_CONSTANT_COMPRESSLEVEL_DEFAULT &sipStrings_pyrcc[35]
#define sipNameNr_setCompressThreshold 66
#define sipName_setCompressThreshold &sipStrings_pyrcc[66]
#define sipNameNr_RCCResourceLibrary 87
#define sipName_RCCResourceLibrary &sipStrings_pyrcc[87]
#define sipNameNr_sip_simplewrapper 106
#define sipName_sip_simplewrapper &sipStrings_pyrcc[106]
#define sipNameNr_setCompressLevel 124
#define sipName_setCompressLevel &sipStrings_pyrcc[124]
#define sipNameNr_setResourceRoot 141
#define sipName_setResourceRoot &sipStrings_pyrcc[141]
#define sipNameNr_setInputFiles 157
#define sipName_setInputFiles &sipStrings_pyrcc[157]
#define sipNameNr_PyQt5_pyrcc 171
#define sipName_PyQt5_pyrcc &sipStrings_pyrcc[171]
#define sipNameNr_setVerbose 183
#define sipName_setVerbose &sipStrings_pyrcc[183]
#define sipNameNr_dataFiles 194
#define sipName_dataFiles &sipStrings_pyrcc[194]
#define sipNameNr_readFiles 204
#define sipName_readFiles &sipStrings_pyrcc[204]
#define sipNameNr_output 214
#define sipName_output &sipStrings_pyrcc[214]

#define sipMalloc                   sipAPI_pyrcc->api_malloc
#define sipFree                     sipAPI_pyrcc->api_free
#define sipBuildResult              sipAPI_pyrcc->api_build_result
#define sipCallMethod               sipAPI_pyrcc->api_call_method
#define sipCallProcedureMethod      sipAPI_pyrcc->api_call_procedure_method
#define sipCallErrorHandler         sipAPI_pyrcc->api_call_error_handler
#define sipParseResultEx            sipAPI_pyrcc->api_parse_result_ex
#define sipParseResult              sipAPI_pyrcc->api_parse_result
#define sipParseArgs                sipAPI_pyrcc->api_parse_args
#define sipParseKwdArgs             sipAPI_pyrcc->api_parse_kwd_args
#define sipParsePair                sipAPI_pyrcc->api_parse_pair
#define sipInstanceDestroyed        sipAPI_pyrcc->api_instance_destroyed
#define sipInstanceDestroyedEx      sipAPI_pyrcc->api_instance_destroyed_ex
#define sipConvertFromSequenceIndex sipAPI_pyrcc->api_convert_from_sequence_index
#define sipConvertFromSliceObject   sipAPI_pyrcc->api_convert_from_slice_object
#define sipConvertFromVoidPtr       sipAPI_pyrcc->api_convert_from_void_ptr
#define sipConvertToVoidPtr         sipAPI_pyrcc->api_convert_to_void_ptr
#define sipAddException             sipAPI_pyrcc->api_add_exception
#define sipNoFunction               sipAPI_pyrcc->api_no_function
#define sipNoMethod                 sipAPI_pyrcc->api_no_method
#define sipAbstractMethod           sipAPI_pyrcc->api_abstract_method
#define sipBadClass                 sipAPI_pyrcc->api_bad_class
#define sipBadCatcherResult         sipAPI_pyrcc->api_bad_catcher_result
#define sipBadCallableArg           sipAPI_pyrcc->api_bad_callable_arg
#define sipBadOperatorArg           sipAPI_pyrcc->api_bad_operator_arg
#define sipTrace                    sipAPI_pyrcc->api_trace
#define sipTransferBack             sipAPI_pyrcc->api_transfer_back
#define sipTransferTo               sipAPI_pyrcc->api_transfer_to
#define sipTransferBreak            sipAPI_pyrcc->api_transfer_break
#define sipSimpleWrapper_Type       sipAPI_pyrcc->api_simplewrapper_type
#define sipWrapper_Type             sipAPI_pyrcc->api_wrapper_type
#define sipWrapperType_Type         sipAPI_pyrcc->api_wrappertype_type
#define sipVoidPtr_Type             sipAPI_pyrcc->api_voidptr_type
#define sipGetPyObject              sipAPI_pyrcc->api_get_pyobject
#define sipGetAddress               sipAPI_pyrcc->api_get_address
#define sipGetMixinAddress          sipAPI_pyrcc->api_get_mixin_address
#define sipGetCppPtr                sipAPI_pyrcc->api_get_cpp_ptr
#define sipGetComplexCppPtr         sipAPI_pyrcc->api_get_complex_cpp_ptr
#define sipIsPyMethod               sipAPI_pyrcc->api_is_py_method
#define sipCallHook                 sipAPI_pyrcc->api_call_hook
#define sipEndThread                sipAPI_pyrcc->api_end_thread
#define sipConnectRx                sipAPI_pyrcc->api_connect_rx
#define sipDisconnectRx             sipAPI_pyrcc->api_disconnect_rx
#define sipRaiseUnknownException    sipAPI_pyrcc->api_raise_unknown_exception
#define sipRaiseTypeException       sipAPI_pyrcc->api_raise_type_exception
#define sipBadLengthForSlice        sipAPI_pyrcc->api_bad_length_for_slice
#define sipAddTypeInstance          sipAPI_pyrcc->api_add_type_instance
#define sipFreeSipslot              sipAPI_pyrcc->api_free_sipslot
#define sipSameSlot                 sipAPI_pyrcc->api_same_slot
#define sipPySlotExtend             sipAPI_pyrcc->api_pyslot_extend
#define sipConvertRx                sipAPI_pyrcc->api_convert_rx
#define sipAddDelayedDtor           sipAPI_pyrcc->api_add_delayed_dtor
#define sipCanConvertToType         sipAPI_pyrcc->api_can_convert_to_type
#define sipConvertToType            sipAPI_pyrcc->api_convert_to_type
#define sipForceConvertToType       sipAPI_pyrcc->api_force_convert_to_type
#define sipCanConvertToEnum         sipAPI_pyrcc->api_can_convert_to_enum
#define sipConvertToEnum            sipAPI_pyrcc->api_convert_to_enum
#define sipConvertToBool            sipAPI_pyrcc->api_convert_to_bool
#define sipReleaseType              sipAPI_pyrcc->api_release_type
#define sipConvertFromType          sipAPI_pyrcc->api_convert_from_type
#define sipConvertFromNewType       sipAPI_pyrcc->api_convert_from_new_type
#define sipConvertFromNewPyType     sipAPI_pyrcc->api_convert_from_new_pytype
#define sipConvertFromEnum          sipAPI_pyrcc->api_convert_from_enum
#define sipGetState                 sipAPI_pyrcc->api_get_state
#define sipExportSymbol             sipAPI_pyrcc->api_export_symbol
#define sipImportSymbol             sipAPI_pyrcc->api_import_symbol
#define sipFindType                 sipAPI_pyrcc->api_find_type
#define sipFindNamedEnum            sipAPI_pyrcc->api_find_named_enum
#define sipBytes_AsChar             sipAPI_pyrcc->api_bytes_as_char
#define sipBytes_AsString           sipAPI_pyrcc->api_bytes_as_string
#define sipString_AsASCIIChar       sipAPI_pyrcc->api_string_as_ascii_char
#define sipString_AsASCIIString     sipAPI_pyrcc->api_string_as_ascii_string
#define sipString_AsLatin1Char      sipAPI_pyrcc->api_string_as_latin1_char
#define sipString_AsLatin1String    sipAPI_pyrcc->api_string_as_latin1_string
#define sipString_AsUTF8Char        sipAPI_pyrcc->api_string_as_utf8_char
#define sipString_AsUTF8String      sipAPI_pyrcc->api_string_as_utf8_string
#define sipUnicode_AsWChar          sipAPI_pyrcc->api_unicode_as_wchar
#define sipUnicode_AsWString        sipAPI_pyrcc->api_unicode_as_wstring
#define sipConvertFromConstVoidPtr  sipAPI_pyrcc->api_convert_from_const_void_ptr
#define sipConvertFromVoidPtrAndSize    sipAPI_pyrcc->api_convert_from_void_ptr_and_size
#define sipConvertFromConstVoidPtrAndSize   sipAPI_pyrcc->api_convert_from_const_void_ptr_and_size
#define sipInvokeSlot               sipAPI_pyrcc->api_invoke_slot
#define sipInvokeSlotEx             sipAPI_pyrcc->api_invoke_slot_ex
#define sipSaveSlot                 sipAPI_pyrcc->api_save_slot
#define sipClearAnySlotReference    sipAPI_pyrcc->api_clear_any_slot_reference
#define sipVisitSlot                sipAPI_pyrcc->api_visit_slot
#define sipWrappedTypeName(wt)      ((wt)->wt_td->td_cname)
#define sipDeprecated               sipAPI_pyrcc->api_deprecated
#define sipGetReference             sipAPI_pyrcc->api_get_reference
#define sipKeepReference            sipAPI_pyrcc->api_keep_reference
#define sipRegisterProxyResolver    sipAPI_pyrcc->api_register_proxy_resolver
#define sipRegisterPyType           sipAPI_pyrcc->api_register_py_type
#define sipTypeFromPyTypeObject     sipAPI_pyrcc->api_type_from_py_type_object
#define sipTypeScope                sipAPI_pyrcc->api_type_scope
#define sipResolveTypedef           sipAPI_pyrcc->api_resolve_typedef
#define sipRegisterAttributeGetter  sipAPI_pyrcc->api_register_attribute_getter
#define sipIsAPIEnabled             sipAPI_pyrcc->api_is_api_enabled
#define sipSetDestroyOnExit         sipAPI_pyrcc->api_set_destroy_on_exit
#define sipEnableAutoconversion     sipAPI_pyrcc->api_enable_autoconversion
#define sipEnableOverflowChecking   sipAPI_pyrcc->api_enable_overflow_checking
#define sipInitMixin                sipAPI_pyrcc->api_init_mixin
#define sipExportModule             sipAPI_pyrcc->api_export_module
#define sipInitModule               sipAPI_pyrcc->api_init_module
#define sipGetInterpreter           sipAPI_pyrcc->api_get_interpreter
#define sipSetNewUserTypeHandler    sipAPI_pyrcc->api_set_new_user_type_handler
#define sipSetTypeUserData          sipAPI_pyrcc->api_set_type_user_data
#define sipGetTypeUserData          sipAPI_pyrcc->api_get_type_user_data
#define sipPyTypeDict               sipAPI_pyrcc->api_py_type_dict
#define sipPyTypeName               sipAPI_pyrcc->api_py_type_name
#define sipGetCFunction             sipAPI_pyrcc->api_get_c_function
#define sipGetMethod                sipAPI_pyrcc->api_get_method
#define sipFromMethod               sipAPI_pyrcc->api_from_method
#define sipGetDate                  sipAPI_pyrcc->api_get_date
#define sipFromDate                 sipAPI_pyrcc->api_from_date
#define sipGetDateTime              sipAPI_pyrcc->api_get_datetime
#define sipFromDateTime             sipAPI_pyrcc->api_from_datetime
#define sipGetTime                  sipAPI_pyrcc->api_get_time
#define sipFromTime                 sipAPI_pyrcc->api_from_time
#define sipIsUserType               sipAPI_pyrcc->api_is_user_type
#define sipGetFrame                 sipAPI_pyrcc->api_get_frame
#define sipCheckPluginForType       sipAPI_pyrcc->api_check_plugin_for_type
#define sipUnicodeNew               sipAPI_pyrcc->api_unicode_new
#define sipUnicodeWrite             sipAPI_pyrcc->api_unicode_write
#define sipUnicodeData              sipAPI_pyrcc->api_unicode_data
#define sipGetBufferInfo            sipAPI_pyrcc->api_get_buffer_info
#define sipReleaseBufferInfo        sipAPI_pyrcc->api_release_buffer_info
#define sipIsOwnedByPython          sipAPI_pyrcc->api_is_owned_by_python
#define sipIsDerivedClass           sipAPI_pyrcc->api_is_derived_class
#define sipGetUserObject            sipAPI_pyrcc->api_get_user_object
#define sipSetUserObject            sipAPI_pyrcc->api_set_user_object
#define sipRegisterEventHandler     sipAPI_pyrcc->api_register_event_handler
#define sipLong_AsChar              sipAPI_pyrcc->api_long_as_char
#define sipLong_AsSignedChar        sipAPI_pyrcc->api_long_as_signed_char
#define sipLong_AsUnsignedChar      sipAPI_pyrcc->api_long_as_unsigned_char
#define sipLong_AsShort             sipAPI_pyrcc->api_long_as_short
#define sipLong_AsUnsignedShort     sipAPI_pyrcc->api_long_as_unsigned_short
#define sipLong_AsInt               sipAPI_pyrcc->api_long_as_int
#define sipLong_AsUnsignedInt       sipAPI_pyrcc->api_long_as_unsigned_int
#define sipLong_AsLong              sipAPI_pyrcc->api_long_as_long
#define sipLong_AsUnsignedLong      sipAPI_pyrcc->api_long_as_unsigned_long
#define sipLong_AsLongLong          sipAPI_pyrcc->api_long_as_long_long
#define sipLong_AsUnsignedLongLong  sipAPI_pyrcc->api_long_as_unsigned_long_long
#define sipLong_AsSizeT             sipAPI_pyrcc->api_long_as_size_t
#define sipVisitWrappers            sipAPI_pyrcc->api_visit_wrappers
#define sipRegisterExitNotifier     sipAPI_pyrcc->api_register_exit_notifier

/* These are deprecated. */
#define sipMapStringToClass         sipAPI_pyrcc->api_map_string_to_class
#define sipMapIntToClass            sipAPI_pyrcc->api_map_int_to_class
#define sipFindClass                sipAPI_pyrcc->api_find_class
#define sipFindMappedType           sipAPI_pyrcc->api_find_mapped_type
#define sipConvertToArray           sipAPI_pyrcc->api_convert_to_array
#define sipConvertToTypedArray      sipAPI_pyrcc->api_convert_to_typed_array
#define sipEnableGC                 sipAPI_pyrcc->api_enable_gc
#define sipPrintObject              sipAPI_pyrcc->api_print_object
#define sipWrapper_Check(w)         PyObject_TypeCheck((w), sipAPI_pyrcc->api_wrapper_type)
#define sipGetWrapper(p, wt)        sipGetPyObject((p), (wt)->wt_td)
#define sipReleaseInstance(p, wt, s)    sipReleaseType((p), (wt)->wt_td, (s))
#define sipReleaseMappedType        sipReleaseType
#define sipCanConvertToInstance(o, wt, f)   sipCanConvertToType((o), (wt)->wt_td, (f))
#define sipCanConvertToMappedType   sipCanConvertToType
#define sipConvertToInstance(o, wt, t, f, s, e)     sipConvertToType((o), (wt)->wt_td, (t), (f), (s), (e))
#define sipConvertToMappedType      sipConvertToType
#define sipForceConvertToInstance(o, wt, t, f, s, e)    sipForceConvertToType((o), (wt)->wt_td, (t), (f), (s), (e))
#define sipForceConvertToMappedType sipForceConvertToType
#define sipConvertFromInstance(p, wt, t)    sipConvertFromType((p), (wt)->wt_td, (t))
#define sipConvertFromMappedType    sipConvertFromType
#define sipConvertFromNamedEnum(v, pt)  sipConvertFromEnum((v), ((sipEnumTypeObject *)(pt))->type)
#define sipConvertFromNewInstance(p, wt, t) sipConvertFromNewType((p), (wt)->wt_td, (t))

/* The strings used by this module. */
extern const char sipStrings_pyrcc[];

#define sipType_RCCResourceLibrary sipExportedTypes_pyrcc[0]
#define sipClass_RCCResourceLibrary sipExportedTypes_pyrcc[0]->u.td_wrapper_type

extern sipClassTypeDef sipTypeDef_pyrcc_RCCResourceLibrary;

/* The SIP API, this module's API and the APIs of any imported modules. */
extern const sipAPIDef *sipAPI_pyrcc;
extern sipExportedModuleDef sipModuleAPI_pyrcc;
extern sipTypeDef *sipExportedTypes_pyrcc[];

#define sipType_QStringList sipImportedTypes_pyrcc_QtCore[1].it_td

#define sipType_QString sipImportedTypes_pyrcc_QtCore[0].it_td
extern sipImportedTypeDef sipImportedTypes_pyrcc_QtCore[];

typedef const QMetaObject *(*sip_qt_metaobject_func)(sipSimpleWrapper *,sipTypeDef *);
extern sip_qt_metaobject_func sip_pyrcc_qt_metaobject;

typedef int (*sip_qt_metacall_func)(sipSimpleWrapper *,sipTypeDef *,QMetaObject::Call,int,void **);
extern sip_qt_metacall_func sip_pyrcc_qt_metacall;

typedef bool (*sip_qt_metacast_func)(sipSimpleWrapper *, const sipTypeDef *, const char *, void **);
extern sip_qt_metacast_func sip_pyrcc_qt_metacast;

#endif
