Primitive class handeling the unitsync library. More...
#include <springunitsynclib.h>
Primitive class handeling the unitsync library.
This class is - in a limited way - thread safe but may block execution in case two threads use it at the same time. The thread safety ensures there can never be multiple threads executing unitsync functions at the same time. However, many unitsync functions use (hidden) global state, so often there is a need for running multiple unitsync methods while holding a single lock continuously.
Definition at line 242 of file springunitsynclib.h.
| SpringUnitSyncLib::SpringUnitSyncLib | ( | ) |
Constructor.
Definition at line 26 of file springunitsynclib.cpp.
| SpringUnitSyncLib::~SpringUnitSyncLib | ( | ) |
Destructor, unloads unitsync if loaded.
Definition at line 36 of file springunitsynclib.cpp.
| SpringUnitSyncLib::SpringUnitSyncLib | ( | const SpringUnitSyncLib & | ) | [protected] |
| void SpringUnitSyncLib::_ConvertSpringMapInfo | ( | const SpringMapInfo & | in, | |
| MapInfo & | out | |||
| ) | [protected] |
Definition at line 473 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::_Init | ( | ) | [protected] |
Initializes unitsync.
Definition at line 353 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::_IsLoaded | ( | ) | const [protected] |
Returns true if the library is loaded.
Internal.
Definition at line 421 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::_Load | ( | const wxString & | path | ) | [protected] |
Loads the unitsync library from path.
Definition at line 101 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::_RemoveAllArchives | ( | ) | [protected] |
Calls RemoveAllArchives if available, _Init() otherwise.
Definition at line 376 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::_SetCurrentMod | ( | const wxString & | modname | ) | [protected] |
Definition at line 500 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::_Unload | ( | ) | [protected] |
Internal Unload() function.
Definition at line 394 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::AddAllArchives | ( | const wxString & | root | ) |
Add all achives.
Definition at line 988 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::AssertUnitsyncOk | ( | ) | const |
Gets last error from unitsync library.
Definition at line 427 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::CloseArchive | ( | int | archive | ) |
Definition at line 1311 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::CloseArchiveFile | ( | int | archive, | |
| int | handle | |||
| ) |
Definition at line 1349 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::CloseFileVFS | ( | int | handle | ) |
Definition at line 1072 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::CloseParser | ( | ) |
lua parser
Definition at line 1459 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::FileSizeVFS | ( | int | handle | ) |
Definition at line 1056 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::FindFilesArchive | ( | int | archive, | |
| int | cur, | |||
| wxString & | nameBuf | |||
| ) |
Definition at line 1319 of file springunitsynclib.cpp.
| wxArrayString SpringUnitSyncLib::FindFilesVFS | ( | const wxString & | name | ) |
Search for a file pattern.
| the | search patterns |
Definition at line 1028 of file springunitsynclib.cpp.
| wxArrayString SpringUnitSyncLib::GetAIInfo | ( | int | index | ) |
Get next search result.
| the | AI index within range of GetSkirmishAIInfoCount |
Definition at line 1430 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetAIOptionCount | ( | const wxString & | modname, | |
| int | index | |||
| ) |
Definition at line 1149 of file springunitsynclib.cpp.
Definition at line 1451 of file springunitsynclib.cpp.
Definition at line 1365 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetConfigFilePath | ( | ) |
Definition at line 603 of file springunitsynclib.cpp.
Definition at line 1129 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetFullUnitName | ( | int | index | ) |
Definition at line 996 of file springunitsynclib.cpp.
| wxImage SpringUnitSyncLib::GetHeightmap | ( | const wxString & | mapFileName | ) |
Get heightmap.
Definition at line 782 of file springunitsynclib.cpp.
| float SpringUnitSyncLib::GetKeyValue | ( | const wxString & | key, | |
| float | defval | |||
| ) |
Definition at line 1725 of file springunitsynclib.cpp.
Definition at line 1718 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::GetKeyValue | ( | const wxString & | key, | |
| bool | defval | |||
| ) |
Definition at line 1711 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetKeyValue | ( | const wxString & | key, | |
| int | defval | |||
| ) |
Definition at line 1704 of file springunitsynclib.cpp.
| float SpringUnitSyncLib::GetKeyValue | ( | int | key, | |
| float | defval | |||
| ) |
Definition at line 1697 of file springunitsynclib.cpp.
Definition at line 1690 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::GetKeyValue | ( | int | key, | |
| bool | defval | |||
| ) |
Definition at line 1683 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetKeyValue | ( | int | key, | |
| int | defval | |||
| ) |
Definition at line 1676 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetLuaAICount | ( | const wxString & | modname | ) |
Definition at line 1080 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetLuaAIDesc | ( | int | aiIndex | ) |
Definition at line 1097 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetLuaAIName | ( | int | aiIndex | ) |
Definition at line 1089 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetMapArchiveCount | ( | int | index | ) |
Definition at line 635 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetMapArchiveName | ( | int | arnr | ) |
Definition at line 643 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetMapChecksum | ( | int | index | ) |
Definition at line 619 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetMapCount | ( | ) |
Definition at line 611 of file springunitsynclib.cpp.
| wxArrayString SpringUnitSyncLib::GetMapDeps | ( | int | index | ) |
Definition at line 651 of file springunitsynclib.cpp.
| MapInfo SpringUnitSyncLib::GetMapInfoEx | ( | int | index, | |
| int | version | |||
| ) |
Get information about a map.
| version | will get author if >=1. |
Definition at line 663 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetMapName | ( | int | index | ) |
Definition at line 627 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetMapOptionCount | ( | const wxString & | name | ) |
Definition at line 1121 of file springunitsynclib.cpp.
| wxImage SpringUnitSyncLib::GetMetalmap | ( | const wxString & | mapFileName | ) |
Get metalmap.
Definition at line 753 of file springunitsynclib.cpp.
| wxImage SpringUnitSyncLib::GetMinimap | ( | const wxString & | mapFileName | ) |
Get minimap.
Definition at line 725 of file springunitsynclib.cpp.
| wxArrayString SpringUnitSyncLib::GetModDeps | ( | int | index | ) |
Definition at line 963 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetModIndex | ( | const wxString & | name | ) |
Definition at line 520 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetModOptionCount | ( | const wxString & | name | ) |
Definition at line 1139 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetOptionBoolDef | ( | int | optIndex | ) |
Definition at line 1207 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetOptionDesc | ( | int | optIndex | ) |
Definition at line 1177 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetOptionKey | ( | int | optIndex | ) |
Definition at line 1161 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetOptionListCount | ( | int | optIndex | ) |
Definition at line 1263 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetOptionListDef | ( | int | optIndex | ) |
Definition at line 1271 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetOptionListItemDesc | ( | int | optIndex, | |
| int | itemIndex | |||
| ) |
Definition at line 1295 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetOptionListItemKey | ( | int | optIndex, | |
| int | itemIndex | |||
| ) |
Definition at line 1279 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetOptionListItemName | ( | int | optIndex, | |
| int | itemIndex | |||
| ) |
Definition at line 1287 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetOptionName | ( | int | optIndex | ) |
Definition at line 1169 of file springunitsynclib.cpp.
| float SpringUnitSyncLib::GetOptionNumberDef | ( | int | optIndex | ) |
Definition at line 1215 of file springunitsynclib.cpp.
| float SpringUnitSyncLib::GetOptionNumberMax | ( | int | optIndex | ) |
Definition at line 1231 of file springunitsynclib.cpp.
| float SpringUnitSyncLib::GetOptionNumberMin | ( | int | optIndex | ) |
Definition at line 1223 of file springunitsynclib.cpp.
| float SpringUnitSyncLib::GetOptionNumberStep | ( | int | optIndex | ) |
Definition at line 1239 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetOptionSection | ( | int | optIndex | ) |
Definition at line 1184 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetOptionStringDef | ( | int | optIndex | ) |
Definition at line 1247 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetOptionStringMaxLen | ( | int | optIndex | ) |
Definition at line 1255 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetOptionStyle | ( | int | optIndex | ) |
Definition at line 1191 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetOptionType | ( | int | optIndex | ) |
Definition at line 1199 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetPrimaryModArchive | ( | int | index | ) |
Definition at line 880 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetPrimaryModArchiveCount | ( | int | index | ) |
Definition at line 939 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetPrimaryModArchiveList | ( | int | arnr | ) |
Definition at line 947 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetPrimaryModChecksum | ( | int | index | ) |
Definition at line 848 of file springunitsynclib.cpp.
Definition at line 955 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetPrimaryModCount | ( | ) |
Definition at line 872 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetPrimaryModDescription | ( | int | index | ) |
Definition at line 931 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetPrimaryModGame | ( | int | index | ) |
Definition at line 915 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetPrimaryModIndex | ( | const wxString & | modName | ) |
Definition at line 856 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetPrimaryModMutator | ( | int | index | ) |
Definition at line 907 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetPrimaryModName | ( | int | index | ) |
Definition at line 864 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetPrimaryModShortGame | ( | int | index | ) |
Definition at line 923 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetPrimaryModShortName | ( | int | index | ) |
Definition at line 891 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetPrimaryModVersion | ( | int | index | ) |
Definition at line 899 of file springunitsynclib.cpp.
| wxArrayString SpringUnitSyncLib::GetSides | ( | const wxString & | modName | ) |
Definition at line 975 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetSkirmishAICount | ( | const wxString & | modname | ) |
AI info.
Definition at line 1421 of file springunitsynclib.cpp.
| float SpringUnitSyncLib::GetSpringConfigFloat | ( | const wxString & | key, | |
| const float | defValue | |||
| ) |
Definition at line 1389 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetSpringConfigInt | ( | const wxString & | key, | |
| int | defValue | |||
| ) |
Definition at line 1373 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetSpringConfigString | ( | const wxString & | key, | |
| const wxString & | defValue | |||
| ) |
Definition at line 1381 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetSpringDataDir | ( | ) |
Definition at line 582 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetSpringDataDirByIndex | ( | const int | index | ) |
Definition at line 596 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetSpringDataDirCount | ( | ) |
Definition at line 589 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetSpringVersion | ( | ) |
Definition at line 575 of file springunitsynclib.cpp.
| std::map< wxString, wxString > SpringUnitSyncLib::GetSpringVersionList | ( | const std::map< wxString, wxString > & | usync_paths | ) |
Loads unitsync from any number of paths in succession, queries the Spring versions supported by these unitsyncs, and returns those.
This is done by a single function because this "transaction" needs to hold the unitsync lock the entire time.
Definition at line 526 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::GetUnitCount | ( | ) |
Definition at line 1012 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetUnitName | ( | int | index | ) |
Definition at line 1004 of file springunitsynclib.cpp.
| wxArrayString SpringUnitSyncLib::GetUnitsyncErrors | ( | ) | const |
Get list of errors from unitsync library in an array.
Definition at line 435 of file springunitsynclib.cpp.
| unsigned int SpringUnitSyncLib::GetValidMapCount | ( | const wxString & | modname | ) |
Definition at line 1104 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::GetValidMapName | ( | unsigned int | MapIndex | ) |
Definition at line 1113 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::IsLoaded | ( | ) | const |
Returns true if the library is loaded.
Definition at line 415 of file springunitsynclib.cpp.
Loads the unitsync library from path.
| path | path to the unitsync lib. | |
| ForceConfigFilePath | if set forces unitsync to use pointed config file, if empty leaves to spring's default |
Definition at line 50 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::OpenArchive | ( | const wxString & | name | ) |
Definition at line 1303 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::OpenArchiveFile | ( | int | archive, | |
| const wxString & | name | |||
| ) |
Definition at line 1333 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::OpenFileVFS | ( | const wxString & | name | ) |
Definition at line 1048 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::OpenParserFile | ( | const wxString & | filename, | |
| const wxString & | filemodes, | |||
| const wxString & | accessModes | |||
| ) |
Definition at line 1467 of file springunitsynclib.cpp.
Definition at line 1474 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserAddTable | ( | const wxString & | key, | |
| bool | override | |||
| ) |
Definition at line 1503 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserAddTable | ( | int | key, | |
| bool | override | |||
| ) |
Definition at line 1496 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserAddTableValue | ( | const wxString & | key, | |
| float | val | |||
| ) |
Definition at line 1566 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserAddTableValue | ( | int | key, | |
| float | val | |||
| ) |
Definition at line 1559 of file springunitsynclib.cpp.
Definition at line 1552 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserAddTableValue | ( | int | key, | |
| const wxString & | val | |||
| ) |
Definition at line 1545 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserAddTableValue | ( | const wxString & | key, | |
| bool | val | |||
| ) |
Definition at line 1538 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserAddTableValue | ( | int | key, | |
| bool | val | |||
| ) |
Definition at line 1531 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserAddTableValue | ( | const wxString & | key, | |
| int | val | |||
| ) |
Definition at line 1524 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserAddTableValue | ( | int | key, | |
| int | val | |||
| ) |
Definition at line 1517 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserEndTable | ( | ) |
Definition at line 1510 of file springunitsynclib.cpp.
| wxString SpringUnitSyncLib::ParserErrorLog | ( | ) |
Definition at line 1488 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::ParserExecute | ( | ) |
Definition at line 1481 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::ParserGetIntKeyListCount | ( | ) |
Definition at line 1647 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::ParserGetIntKeyListEntry | ( | int | index | ) |
Definition at line 1654 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::ParserGetKeyType | ( | const wxString & | key | ) |
Definition at line 1639 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::ParserGetKeyType | ( | int | key | ) |
Definition at line 1632 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::ParserGetRootTable | ( | ) |
Definition at line 1574 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::ParserGetRootTableExpression | ( | const wxString & | exp | ) |
Definition at line 1581 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::ParserGetStringKeyListCount | ( | ) |
Definition at line 1661 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::ParserGetStringKeyListEntry | ( | int | index | ) |
Definition at line 1668 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::ParserGetSubTableInt | ( | const wxString & | exp | ) |
Definition at line 1602 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::ParserGetSubTableInt | ( | int | key | ) |
Definition at line 1588 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::ParserGetSubTableString | ( | const wxString & | key | ) |
Definition at line 1595 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::ParserKeyExists | ( | const wxString & | key | ) |
Definition at line 1624 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::ParserKeyExists | ( | int | key | ) |
Definition at line 1617 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::ParserPopTable | ( | ) |
Definition at line 1609 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::ProcessUnitsNoChecksum | ( | ) |
Definition at line 1020 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::ReadArchiveFile | ( | int | archive, | |
| int | handle, | |||
| void * | buffer, | |||
| int | numBytes | |||
| ) |
Definition at line 1341 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::ReadFileVFS | ( | int | handle, | |
| void * | buffer, | |||
| int | bufferLength | |||
| ) |
Definition at line 1064 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::SetCurrentMod | ( | const wxString & | modname | ) |
Definition at line 491 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::SetSpringConfigFloat | ( | const wxString & | key, | |
| const float | value | |||
| ) |
Definition at line 1413 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::SetSpringConfigInt | ( | const wxString & | key, | |
| int | value | |||
| ) |
Definition at line 1405 of file springunitsynclib.cpp.
Definition at line 1397 of file springunitsynclib.cpp.
| int SpringUnitSyncLib::SizeArchiveFile | ( | int | archive, | |
| int | handle | |||
| ) |
Definition at line 1357 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::Unload | ( | ) |
Unload the unitsync library.
Does nothing if not loaded.
Definition at line 385 of file springunitsynclib.cpp.
| void SpringUnitSyncLib::UnSetCurrentMod | ( | ) |
Definition at line 512 of file springunitsynclib.cpp.
| bool SpringUnitSyncLib::VersionSupports | ( | SpringUnitSync::GameFeature | feature | ) | const |
Definition at line 459 of file springunitsynclib.cpp.
wxString SpringUnitSyncLib::m_current_mod [protected] |
the current loaded mod.
Definition at line 505 of file springunitsynclib.h.
wxDynamicLibrary* SpringUnitSyncLib::m_libhandle [protected] |
Handle to the unitsync library.
Definition at line 496 of file springunitsynclib.h.
bool SpringUnitSyncLib::m_loaded [protected] |
Keeps track if unitsync is loaded or not.
Definition at line 493 of file springunitsynclib.h.
wxCriticalSection SpringUnitSyncLib::m_lock [mutable, protected] |
Critical section controlling access to unitsync functions.
Definition at line 499 of file springunitsynclib.h.
wxString SpringUnitSyncLib::m_path [protected] |
Path to unitsync.
Definition at line 502 of file springunitsynclib.h.
1.6.3