summaryrefslogtreecommitdiff
path: root/engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'engine.h')
-rw-r--r--engine.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/engine.h b/engine.h
index 6fff71368..adb07cf44 100644
--- a/engine.h
+++ b/engine.h
@@ -293,4 +293,15 @@ int32 AddEngineReplacement(EngineRenewList* erl, EngineID old_engine, EngineID n
*/
int32 RemoveEngineReplacement(EngineRenewList* erl, EngineID engine, uint32 flags);
+/* Engine list manipulators - current implementation is only C wrapper of CBlobT<EngineID> class (helpers.cpp) */
+void EngList_Create(EngineList *el); ///< Creates engine list
+void EngList_Destroy(EngineList *el); ///< Deallocate and destroy engine list
+uint EngList_Count(const EngineList *el); ///< Returns number of items in the engine list
+void EngList_Add(EngineList *el, EngineID eid); ///< Append one item at the end of engine list
+EngineID* EngList_Items(EngineList *el); ///< Returns engine list items as C array
+void EngList_RemoveAll(EngineList *el); ///< Removes all items from engine list
+typedef int CDECL EngList_SortTypeFunction(const void*, const void*); ///< argument type for EngList_Sort()
+void EngList_Sort(EngineList *el, EngList_SortTypeFunction compare); ///< qsort of the engine list
+void EngList_SortPartial(EngineList *el, EngList_SortTypeFunction compare, uint begin, uint num_items); ///< qsort of specified portion of the engine list
+
#endif /* ENGINE_H */