SIPLIB Functions

Public Support Functions

To use the SIPLIB functions described here, include sip.h. The source of these functions is in siplib.c.

Information functions

Table of Contents
sipGetCppPtr -- Get the C/C++ pointer from a wrapper and cast it to the required type
sipGetComplexCppPtr -- Get the C/C++ pointer for a complex object
sipGetThisWrapper -- Convert a C/C++ pointer to the object that wraps it
sipIsSubClassInstance -- See if a Python object is an instance of a sub-class of a given base class

Conversions and argument parsing

Table of Contents
sipParseArgs -- Parse the arguments to a C/C++ function without any side effects
sipConvertToCpp -- Convert a Python instance of a class to a C/C++ object pointer
sipMapCppToSelf -- Convert a C/C++ pointer to a Python instance
sipConvertToVoidPtr -- A convenience function to convert a C/C++ void pointer from a Python object
sipConvertFromVoidPtr -- A convenience function to convert a C/C++ void pointer to a Python object
sipConvertFromBool -- A convenience function to convert a C/C++ boolean to a Python object
sipCheckNone -- Check a None argument for a class pointer that we might dereference
sipBadVirtualResultType -- Report a Python member function with an unexpected return type
sipBadSetType -- Report a Python class variable with an unexpected type

Ressource handling

Table of Contents
sipReleaseLock -- Release the interpreter lock and save the current Python thread state
sipAcquireLock -- Acquire the interpreter lock and restore the Python thread state
sipCondReleaseLock -- Release the interpreter lock, if previously acquired, and save Python thread state
sipCondAcquireLock -- Acquire the interpreter lock, if not already acquired, and restore Python thread state
sipMalloc -- A Python 1.5 style memory allocator that supports Python 1.5 and 1.6
sipFree -- A Python 1.5 style memory de-allocator that supports Python 1.5 and 1.6

Calling Python

Table of Contents
sipEvalMethod -- Call a Python method
sipCallHook -- Call a hook

Functions specifically for signals/slots

Table of Contents
sipEmitSignal -- Emit a Python or Qt signal
sipConvertRx -- Convert a Python receiver to a Qt receiver
sipConnectRx -- Connect a Qt or a Python signal
sipGetRx -- Convert a valid Python signal or slot to an existing proxy Qt slot
sipDisconnectRx -- Disconnect a Qt or Python signal from a Python slot

These functions are specific for the Qt support. They are in the separate files sipqt.h and qtlib.cpp.

Private Functions

The private functions, which should only be called by generated code, are not documented here. For further information see the headerfile sip.h).