RecompExternalPython for N64Recompiled 2.0.0
Loading...
Searching...
No Matches
REPY_DeferredCleanupHelper Methods

Method functions to operate on REPY_DeferredCleanupHelper objects. More...

Functions

REPY_DeferredCleanupHelperREPY_DeferredCleanupHelper_Create ()
 Create a new REPY_DeferredCleanupHelper object.
REPY_Handle REPY_DeferredCleanupHelper_AddHandle (REPY_DeferredCleanupHelper *cleanup, REPY_Handle handle_no_release)
 Adds a REPY_Handle to be release by a REPY_DeferredCleanupHelper instance.
void * REPY_DeferredCleanupHelper_AddRecompFree (REPY_DeferredCleanupHelper *cleanup, void *pointer)
 Adds a region of memory (specified by a void*) to be freed with recomp_free by a REPY_DeferredCleanupHelper instance.
REPY_IteratorHelperREPY_DeferredCleanupHelper_AddIteratorHelper (REPY_DeferredCleanupHelper *cleanup, REPY_IteratorHelper *iterator_helper)
 Adds a REPY_IteratorHelper to be destroyed by a REPY_DeferredCleanupHelper instance.
REPY_IfStmtHelperREPY_DeferredCleanupHelper_AddIfStmtHelper (REPY_DeferredCleanupHelper *cleanup, REPY_IfStmtHelper *if_stmt_helper)
 Adds a REPY_IfStmtHelper to be destroyed by a REPY_DeferredCleanupHelper instance.
void REPY_DeferredCleanupHelper_CleanNow (REPY_DeferredCleanupHelper *cleanup)
 Clean up all of the resources registered to a REPY_DeferredCleanupHelper without destroying the instance itself.
void REPY_DeferredCleanupHelper_Destroy (REPY_DeferredCleanupHelper *cleanup)
 Destroy a REPY_DeferredCleanupHelper instance and clean up all of the resources registered to it.

Detailed Description

Method functions to operate on REPY_DeferredCleanupHelper objects.

Function Documentation

◆ REPY_DeferredCleanupHelper_AddHandle()

REPY_Handle REPY_DeferredCleanupHelper_AddHandle ( REPY_DeferredCleanupHelper * cleanup,
REPY_Handle handle_no_release )

Adds a REPY_Handle to be release by a REPY_DeferredCleanupHelper instance.

The REPY_DeferredCleanupHelper will now be responsible for releasing this handle. Don't release it yourself, or make the Single-Use. This function will not release a Single-Use handle if it recieves one.

For the sake of easily wrapping other function calls, this function returns the same REPY_Handle it was given.

Parameters
cleanupThe REPY_DeferredCleanupHelper to add handle_no_release to.
handle_no_releaseA REPY_Handle to be released by this cleanup helper.
Returns
the REPY_Handle specified in handle_no_release.

◆ REPY_DeferredCleanupHelper_AddIfStmtHelper()

REPY_IfStmtHelper * REPY_DeferredCleanupHelper_AddIfStmtHelper ( REPY_DeferredCleanupHelper * cleanup,
REPY_IfStmtHelper * if_stmt_helper )

Adds a REPY_IfStmtHelper to be destroyed by a REPY_DeferredCleanupHelper instance.

The REPY_DeferredCleanupHelper will now be responsible for destroying this REPY_IfStmtHelper. Do not destroy it yourself.

For the sake of easily wrapping other function calls, this function returns the same REPY_IfStmtHelper* it was given.

Parameters
cleanupThe REPY_DeferredCleanupHelper to add if_stmt_helper to.
if_stmt_helperA REPY_IfStmtHelper to be released by this cleanup helper.
Returns
the REPY_IfStmtHelper specified in if_stmt_helper.

◆ REPY_DeferredCleanupHelper_AddIteratorHelper()

REPY_IteratorHelper * REPY_DeferredCleanupHelper_AddIteratorHelper ( REPY_DeferredCleanupHelper * cleanup,
REPY_IteratorHelper * iterator_helper )

Adds a REPY_IteratorHelper to be destroyed by a REPY_DeferredCleanupHelper instance.

The REPY_DeferredCleanupHelper will now be responsible for destroying this REPY_IteratorHelper. Do not destroy it yourself.

For the sake of easily wrapping other function calls, this function returns the same REPY_IteratorHelper* it was given.

Parameters
cleanupThe REPY_DeferredCleanupHelper to add iterator_helper to.
iterator_helperA REPY_IteratorHelper to be released by this cleanup helper.
Returns
the REPY_IteratorHelper specified in iterator_helper.

◆ REPY_DeferredCleanupHelper_AddRecompFree()

void * REPY_DeferredCleanupHelper_AddRecompFree ( REPY_DeferredCleanupHelper * cleanup,
void * pointer )

Adds a region of memory (specified by a void*) to be freed with recomp_free by a REPY_DeferredCleanupHelper instance.

The REPY_DeferredCleanupHelper will now be responsible for freeing this memory. Do not free it yourself.

The memory will be released using recomp_free. If recomp_free is not the appropriate for releasing this memory, then do not use this mechanism. In the future, REPY_DeferredCleanupHelper may be updated to allow specifying custom types to be released.

For the sake of easily wrapping other function calls, this function returns the same void*it was given.

Parameters
cleanupThe REPY_DeferredCleanupHelper to add pointer to.
pointerA void* to be freed by this cleanup helper.
Returns
the void* specified in pointer.

◆ REPY_DeferredCleanupHelper_CleanNow()

void REPY_DeferredCleanupHelper_CleanNow ( REPY_DeferredCleanupHelper * cleanup)

Clean up all of the resources registered to a REPY_DeferredCleanupHelper without destroying the instance itself.

The REPY_DeferredCleanupHelper now be considered empty again, and thus you can reuse it by adding new resources for it to clean up.

Parameters
cleanupThe REPY_DeferredCleanupHelper to run.

◆ REPY_DeferredCleanupHelper_Create()

REPY_DeferredCleanupHelper * REPY_DeferredCleanupHelper_Create ( )

Create a new REPY_DeferredCleanupHelper object.

Internally, allocation is handled via recomp_alloc.

Returns
A pointer to the new REPY_DeferredCleanupHelper instance.

◆ REPY_DeferredCleanupHelper_Destroy()

void REPY_DeferredCleanupHelper_Destroy ( REPY_DeferredCleanupHelper * cleanup)

Destroy a REPY_DeferredCleanupHelper instance and clean up all of the resources registered to it.

It is safe to destroy a REPY_DeferredCleanupHelper instance that never had any resources added to it.

Parameters
cleanupThe REPY_DeferredCleanupHelper to run.