# AIScanner Class Reference

Class that scans for available AIs. More...

`#include <ai_scanner.hpp>`

Inheritance diagram for AIScanner:

## Public Member Functions
bool | ImportLibrary (const char *library, const char *class_name, int version, HSQUIRRELVM vm, class AIController *controller)
| Import a library inside the Squirrel VM.
void | RegisterLibrary (class AILibrary *library)
| Register a library to be put in the available list.
void | RegisterAI (class AIInfo *info)
| Register an AI to be put in the available list.
void | SetDummyAI (class AIInfo *info)
class AIInfo * | SelectRandomAI () const
| Select a Random AI.
class AIInfo * | FindInfo (const char *name, int version, bool force_exact_match)
| Find an AI by name.
char * | GetAIConsoleList (char *p, const char *last, bool newest_only) const
| Get the list of available AIs for the console.
char * | GetAIConsoleLibraryList (char *p, const char *last) const
| Get the list of available AI Libraries for the console.
const AIInfoList * | GetAIInfoList ()
| Get the list of all registered AIs.
const AIInfoList * | GetUniqueAIInfoList ()
| Get the list of the newest version of all registered AIs.
void | RescanAIDir ()
| Rescan the AI dir for scripts.
bool | HasAI (const struct ContentInfo *ci, bool md5sum)
## Private Types
typedef std::map< const char *, class AILibrary *, StringCompare > | AILibraryList
## Private Member Functions
void | ScanAIDir ()
| Scan the AI dir for scripts.
void | Reset ()
| Reset all allocated lists.
## Private Attributes
AIInfo * | info_dummy
AIInfoList | info_list
AIInfoList | info_single_list
AILibraryList | library_list

## Detailed Description

Class that scans for available AIs.

Definition at line 21 of file ai_scanner.hpp.

The documentation for this class was generated from the following files:

- src/ai/ai_scanner.hpp
- src/ai/ai_scanner.cpp