(svn r23370) -Add: support @api tag in API header files, to select which API should receive the defined classes and functions

This commit is contained in:
truebrain
2011-11-29 23:27:26 +00:00
parent 2c877b074e
commit 4d91f645c1
52 changed files with 240 additions and 57 deletions

View File

@@ -17,6 +17,7 @@
/**
* Class that keeps track of the costs, so you can request how much a block of
* commands did cost in total. Works in both Execute as in Test mode.
* @api ai
* Example:
* <pre>
* {

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all airport related functions.
* @api ai
*/
class ScriptAirport : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Class that handles some basic functions.
* @api ai
*
* @note The random functions are not called Random and RandomRange, because
* RANDOM_DEBUG does some tricky stuff, which messes with those names.

View File

@@ -16,6 +16,7 @@
/**
* Base class for stations and waypoints.
* @api ai
*/
class ScriptBaseStation : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all bridge related functions.
* @api ai
*/
class ScriptBridge : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Create a list of bridges.
* @api ai
* @ingroup ScriptList
*/
class ScriptBridgeList : public ScriptList {
@@ -25,6 +26,7 @@ public:
/**
* Create a list of bridges that can be built on a specific length.
* @api ai
* @ingroup ScriptList
*/
class ScriptBridgeList_Length : public ScriptList {

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all cargo related functions.
* @api ai
*/
class ScriptCargo : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Creates a list of cargos that can be produced in the current game.
* @api ai
* @ingroup ScriptList
*/
class ScriptCargoList : public ScriptList {
@@ -27,6 +28,7 @@ public:
* Creates a list of cargos that the given industry accepts.
* @note This list also includes cargos that are temporarily not accepted
* by this industry, @see ScriptIndustry::IsCargoAccepted.
* @api ai
* @ingroup ScriptList
*/
class ScriptCargoList_IndustryAccepting : public ScriptList {
@@ -39,6 +41,7 @@ public:
/**
* Creates a list of cargos that the given industry can produce.
* @api ai
* @ingroup ScriptList
*/
class ScriptCargoList_IndustryProducing : public ScriptList {
@@ -51,6 +54,7 @@ public:
/**
* Creates a list of cargos that the given station accepts.
* @api ai
* @ingroup ScriptList
*/
class ScriptCargoList_StationAccepting : public ScriptList {

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all company related functions.
* @api ai
*/
class ScriptCompany : public ScriptObject {
public:

View File

@@ -19,6 +19,7 @@
* The Controller, the class each Script should extend. It creates the Script,
* makes sure the logic kicks in correctly, and that GetTick() has a valid
* value.
* @api ai
*/
class ScriptController {
friend class AIScanner;

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all date related (calculation) functions.
* @api ai
*
* @note Months and days of month are 1-based; the first month of the
* year is 1 and the first day of the month is also 1.

View File

@@ -17,6 +17,7 @@
/**
* Creates a list of the locations of the depots (and hangars) of which you are the owner.
* @api ai
* @ingroup ScriptList
*/
class ScriptDepotList : public ScriptList {

View File

@@ -18,6 +18,7 @@
/**
* Class that handles all engine related functions.
* @api ai
*/
class ScriptEngine : public ScriptObject {
public:

View File

@@ -17,6 +17,7 @@
/**
* Create a list of engines based on a vehicle type.
* @api ai
* @ingroup ScriptList
*/
class ScriptEngineList : public ScriptList {

View File

@@ -40,6 +40,7 @@
/**
* Class that handles all error related functions.
* @api ai
*/
class ScriptError : public ScriptObject {
public:
@@ -142,10 +143,9 @@ public:
*/
static char *GetLastErrorString();
#ifndef EXPORT_SKIP
/**
* Get the error based on the OpenTTD StringID.
* @note DO NOT INVOKE THIS METHOD YOURSELF!
* @api -all
* @param internal_string_id The string to convert.
* @return The NoAI equivalent error message.
*/
@@ -153,7 +153,7 @@ public:
/**
* Map an internal OpenTTD error message to its NoAI equivalent.
* @note DO NOT INVOKE THIS METHOD YOURSELF! The calls are autogenerated.
* @api -all
* @param internal_string_id The OpenTTD StringID used for an error.
* @param ai_error_msg The NoAI equivalent error message.
*/
@@ -161,12 +161,11 @@ public:
/**
* Map an internal OpenTTD error message to its NoAI equivalent.
* @note DO NOT INVOKE THIS METHOD YOURSELF! The calls are autogenerated.
* @api -all
* @param ai_error_msg The NoAI error message representation.
* @param message The string representation of this error message, used for debug purposes.
*/
static void RegisterErrorMapString(ScriptErrorType ai_error_msg, const char *message);
#endif /* EXPORT_SKIP */
private:
typedef std::map<StringID, ScriptErrorType> ScriptErrorMap; ///< The type for mapping between error (internal OpenTTD) StringID to the AI error type.

View File

@@ -18,6 +18,7 @@
* Class that handles all event related functions.
* You can lookup the type, and than convert it to the real event-class.
* That way you can request more detailed information about the event.
* @api ai
*/
class ScriptEvent : public ScriptObject {
public:
@@ -72,6 +73,7 @@ protected:
/**
* Class that handles all event related functions.
* @api ai
* @note it is not needed to create an instance of ScriptEvent to access it, as
* all members are static, and all data is stored AI-wide.
*/
@@ -89,20 +91,18 @@ public:
*/
static ScriptEvent *GetNextEvent();
#ifndef EXPORT_SKIP
/**
* Insert an event to the queue for the company.
* @param event The event to insert.
* @note DO NOT CALL YOURSELF; leave it to the internal AI programming.
* @api -all
*/
static void InsertEvent(ScriptEvent *event);
/**
* Free the event pointer.
* @note DO NOT CALL YOURSELF; leave it to the internal AI programming.
* @api -all
*/
static void FreeEventPointer();
#endif /* EXPORT_SKIP */
private:
/**

View File

@@ -18,6 +18,7 @@
/**
* Event Vehicle Crash, indicating a vehicle of yours is crashed.
* It contains the crash site, the crashed vehicle and the reason for the crash.
* @api ai
*/
class ScriptEventVehicleCrashed : public ScriptEvent {
public:
@@ -78,6 +79,7 @@ private:
/**
* Event Subsidy Offered, indicating someone offered a subsidy.
* @api ai
*/
class ScriptEventSubsidyOffer : public ScriptEvent {
public:
@@ -108,6 +110,7 @@ private:
/**
* Event Subsidy Offer Expired, indicating a subsidy will no longer be awarded.
* @api ai
*/
class ScriptEventSubsidyOfferExpired : public ScriptEvent {
public:
@@ -138,6 +141,7 @@ private:
/**
* Event Subidy Awarded, indicating a subsidy is awarded to some company.
* @api ai
*/
class ScriptEventSubsidyAwarded : public ScriptEvent {
public:
@@ -168,6 +172,7 @@ private:
/**
* Event Subsidy Expired, indicating a route that was once subsidized no longer is.
* @api ai
*/
class ScriptEventSubsidyExpired : public ScriptEvent {
public:
@@ -200,6 +205,7 @@ private:
* Event Engine Preview, indicating a manufacturer offer you to test a new engine.
* You can get the same information about the offered engine as a real user
* would see in the offer window. And you can also accept the offer.
* @api ai
*/
class ScriptEventEnginePreview : public ScriptEvent {
public:
@@ -288,6 +294,7 @@ private:
/**
* Event Company New, indicating a new company has been created.
* @api ai
*/
class ScriptEventCompanyNew : public ScriptEvent {
public:
@@ -319,6 +326,7 @@ private:
/**
* Event Company In Trouble, indicating a company is in trouble and might go
* bankrupt soon.
* @api ai
*/
class ScriptEventCompanyInTrouble : public ScriptEvent {
public:
@@ -349,6 +357,7 @@ private:
/**
* Event Company Ask Merger, indicating a company can be bought (cheaply) by you.
* @api ai
*/
class ScriptEventCompanyAskMerger : public ScriptEvent {
public:
@@ -396,6 +405,7 @@ private:
/**
* Event Company Merger, indicating a company has been bought by another
* company.
* @api ai
*/
class ScriptEventCompanyMerger : public ScriptEvent {
public:
@@ -438,6 +448,7 @@ private:
/**
* Event Company Bankrupt, indicating a company has gone bankrupt.
* @api ai
*/
class ScriptEventCompanyBankrupt : public ScriptEvent {
public:
@@ -468,6 +479,7 @@ private:
/**
* Event Vehicle Lost, indicating a vehicle can't find its way to its destination.
* @api ai
*/
class ScriptEventVehicleLost : public ScriptEvent {
public:
@@ -498,6 +510,7 @@ private:
/**
* Event VehicleWaitingInDepot, indicating a vehicle has arrived a depot and is now waiting there.
* @api ai
*/
class ScriptEventVehicleWaitingInDepot : public ScriptEvent {
public:
@@ -528,6 +541,7 @@ private:
/**
* Event Vehicle Unprofitable, indicating a vehicle lost money last year.
* @api ai
*/
class ScriptEventVehicleUnprofitable : public ScriptEvent {
public:
@@ -558,6 +572,7 @@ private:
/**
* Event Industry Open, indicating a new industry has been created.
* @api ai
*/
class ScriptEventIndustryOpen : public ScriptEvent {
public:
@@ -588,6 +603,7 @@ private:
/**
* Event Industry Close, indicating an industry is going to be closed.
* @api ai
*/
class ScriptEventIndustryClose : public ScriptEvent {
public:
@@ -618,6 +634,7 @@ private:
/**
* Event Engine Available, indicating a new engine is available.
* @api ai
*/
class ScriptEventEngineAvailable : public ScriptEvent {
public:
@@ -648,6 +665,7 @@ private:
/**
* Event Station First Vehicle, indicating a station has been visited by a vehicle for the first time.
* @api ai
*/
class ScriptEventStationFirstVehicle : public ScriptEvent {
public:
@@ -687,6 +705,7 @@ private:
/**
* Event Disaster Zeppeliner Crashed, indicating a zeppeliner has crashed on an airport and is blocking the runway.
* @api ai
*/
class ScriptEventDisasterZeppelinerCrashed : public ScriptEvent {
public:
@@ -717,6 +736,7 @@ private:
/**
* Event Disaster Zeppeliner Cleared, indicating a previously crashed zeppeliner has been removed, and the airport is operating again.
* @api ai
*/
class ScriptEventDisasterZeppelinerCleared : public ScriptEvent {
public:
@@ -747,6 +767,7 @@ private:
/**
* Event Town Founded, indicating a new town has been created.
* @api ai
*/
class ScriptEventTownFounded : public ScriptEvent {
public:

View File

@@ -20,6 +20,7 @@
* Execute. The original mode is stored and recovered from when ever the
* instance is destroyed.
* In Execute mode all commands you do are executed for real.
* @api ai
*/
class ScriptExecMode : public ScriptObject {
private:

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all game settings related functions.
* @api ai
*
* @note ScriptGameSettings::IsValid and ScriptGameSettings::GetValue are functions
* that rely on the settings as OpenTTD stores them in savegame and

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all group related functions.
* @api ai
*/
class ScriptGroup : public ScriptObject {
public:

View File

@@ -17,6 +17,7 @@
/**
* Creates a list of groups of which you are the owner.
* @note Neither ScriptGroup::GROUP_ALL nor ScriptGroup::GROUP_DEFAULT is in this list.
* @api ai
* @ingroup ScriptList
*/
class ScriptGroupList : public ScriptList {

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all industry related functions.
* @api ai
*/
class ScriptIndustry : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Creates a list of industries that are currently on the map.
* @api ai
* @ingroup ScriptList
*/
class ScriptIndustryList : public ScriptList {
@@ -25,6 +26,7 @@ public:
/**
* Creates a list of industries that accepts a given cargo.
* @api ai
* @ingroup ScriptList
*/
class ScriptIndustryList_CargoAccepting : public ScriptList {
@@ -38,6 +40,7 @@ public:
/**
* Creates a list of industries that can produce a given cargo.
* @note It also contains industries that currently produces 0 units of the cargo.
* @api ai
* @ingroup ScriptList
*/
class ScriptIndustryList_CargoProducing : public ScriptList {

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all industry-type related functions.
* @api ai
*/
class ScriptIndustryType : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Creates a list of valid industry types.
* @api ai
* @ingroup ScriptList
*/
class ScriptIndustryTypeList : public ScriptList {

View File

@@ -21,6 +21,7 @@ class ScriptListSorter;
/**
* Class that creates a list which can keep item/value pairs, which you can walk.
* @api ai
*/
class ScriptList : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all log related functions.
* @api ai
*/
class ScriptLog : public ScriptObject {
/* ScriptController needs access to Enum and Log, in order to keep the flow from
@@ -23,10 +24,10 @@ class ScriptLog : public ScriptObject {
friend class ScriptController;
public:
#ifndef EXPORT_SKIP
/**
* Log levels; The value is also feed to DEBUG() lvl.
* This has no use for you, as AI writer.
* @api -all
*/
enum ScriptLogType {
LOG_SQ_ERROR = 0, ///< Squirrel printed an error.
@@ -39,6 +40,7 @@ public:
/**
* Internal representation of the log-data inside the AI.
* This has no use for you, as AI writer.
* @api -all
*/
struct LogData {
char **lines; ///< The log-lines.
@@ -47,7 +49,6 @@ public:
int pos; ///< Current position in lines.
int used; ///< Total amount of used log-lines.
};
#endif /* EXPORT_SKIP */
/**
* Print an Info message to the logs.
@@ -67,13 +68,11 @@ public:
*/
static void Error(const char *message);
#ifndef EXPORT_SKIP
/**
* Free the log pointer.
* @note DO NOT CALL YOURSELF; leave it to the internal AI programming.
* @api -all
*/
static void FreeLogPointer();
#endif /* EXPORT_SKIP */
private:
/**

View File

@@ -17,6 +17,7 @@
/**
* Class that handles all map related functions.
* @api ai
*/
class ScriptMap : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all marine related functions.
* @api ai
*/
class ScriptMarine : public ScriptObject {
public:

View File

@@ -29,10 +29,10 @@ typedef bool (ScriptModeProc)();
* your script, as it doesn't publish any public functions. It is used
* internally to have a common place to handle general things, like internal
* command processing, and command-validation checks.
* @api none
*/
class ScriptObject : public SimpleCountedObject {
friend class ScriptInstance;
#ifndef DOXYGEN_AI_DOCS
protected:
/**
* A class that handles the current active instance. By instantiating it at
@@ -239,7 +239,6 @@ private:
* @param group_id The new GroupID.
*/
static void SetNewGroupID(GroupID group_id);
#endif /* DOXYGEN_AI_DOCS */
};
#endif /* SCRIPT_OBJECT_HPP */

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all order related functions.
* @api ai
*/
class ScriptOrder : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all rail related functions.
* @api ai
*/
class ScriptRail : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Creates a list of all available railtypes.
* @api ai
* @ingroup ScriptList
*/
class ScriptRailTypeList : public ScriptList {

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all road related functions.
* @api ai
*/
class ScriptRoad : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all sign related functions.
* @api ai
*/
class ScriptSign : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Create a list of signs your company has created.
* @api ai
* @ingroup ScriptList
*/
class ScriptSignList : public ScriptList {

View File

@@ -17,6 +17,7 @@
/**
* Class that handles all station related functions.
* @api ai
*/
class ScriptStation : public ScriptBaseStation {
public:

View File

@@ -17,6 +17,7 @@
/**
* Creates a list of stations of which you are the owner.
* @api ai
* @ingroup ScriptList
*/
class ScriptStationList : public ScriptList {
@@ -29,6 +30,7 @@ public:
/**
* Creates a list of stations which the vehicle has in its orders.
* @api ai
* @ingroup ScriptList
*/
class ScriptStationList_Vehicle : public ScriptList {

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all subsidy related functions.
* @api ai
*/
class ScriptSubsidy : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Creates a list of all current subsidies.
* @api ai
* @ingroup ScriptList
*/
class ScriptSubsidyList : public ScriptList {

View File

@@ -22,6 +22,7 @@
* In Test mode all the commands you execute aren't really executed. The
* system only checks if it would be able to execute your requests, and what
* the cost would be.
* @api ai
*/
class ScriptTestMode : public ScriptObject {
private:

View File

@@ -17,6 +17,7 @@
/**
* Class that handles all tile related functions.
* @api ai
*/
class ScriptTile : public ScriptObject {
public:

View File

@@ -17,6 +17,7 @@
/**
* Creates an empty list, in which you can add tiles.
* @api ai
* @ingroup ScriptList
*/
class ScriptTileList : public ScriptList {
@@ -57,6 +58,7 @@ public:
/**
* Creates a list of tiles that will accept cargo for the given industry.
* @note If a simular industry is close, it might happen that this industry receives the cargo.
* @api ai
* @ingroup ScriptList
*/
class ScriptTileList_IndustryAccepting : public ScriptTileList {
@@ -73,6 +75,7 @@ public:
/**
* Creates a list of tiles which the industry checks to see if a station is
* there to receive cargo produced by this industry.
* @api ai
* @ingroup ScriptList
*/
class ScriptTileList_IndustryProducing : public ScriptTileList {
@@ -89,6 +92,7 @@ public:
/**
* Creates a list of tiles which have the requested StationType of the
* StationID.
* @api ai
* @ingroup ScriptList
*/
class ScriptTileList_StationType : public ScriptTileList {

View File

@@ -17,6 +17,7 @@
/**
* Class that handles all town related functions.
* @api ai
*/
class ScriptTown : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Creates a list of towns that are currently on the map.
* @api ai
* @ingroup ScriptList
*/
class ScriptTownList : public ScriptList {
@@ -25,6 +26,7 @@ public:
/**
* Creates a list of all TownEffects known in the game.
* @api ai
* @ingroup ScriptList
*/
class ScriptTownEffectList : public ScriptList {

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all tunnel related functions.
* @api ai
*/
class ScriptTunnel : public ScriptObject {
public:

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all vehicle related functions.
* @api ai
*/
class ScriptVehicle : public ScriptObject {
public:

View File

@@ -17,6 +17,7 @@
/**
* Creates a list of vehicles of which you are the owner.
* @api ai
* @ingroup ScriptList
*/
class ScriptVehicleList : public ScriptList {
@@ -26,6 +27,7 @@ public:
/**
* Creates a list of vehicles that have orders to a given station.
* @api ai
* @ingroup ScriptList
*/
class ScriptVehicleList_Station : public ScriptList {
@@ -43,6 +45,7 @@ public:
* aircraft having a depot order on a hangar of that airport will be
* returned. For all other vehicle types the tile has to be a depot or
* an empty list will be returned.
* @api ai
* @ingroup ScriptList
*/
class ScriptVehicleList_Depot : public ScriptList {
@@ -55,6 +58,7 @@ public:
/**
* Creates a list of vehicles that share orders.
* @api ai
* @ingroup ScriptList
*/
class ScriptVehicleList_SharedOrders : public ScriptList {
@@ -67,6 +71,7 @@ public:
/**
* Creates a list of vehicles that are in a group.
* @api ai
* @ingroup ScriptList
*/
class ScriptVehicleList_Group : public ScriptList {
@@ -79,6 +84,7 @@ public:
/**
* Creates a list of vehicles that are in the default group.
* @api ai
* @ingroup ScriptList
*/
class ScriptVehicleList_DefaultGroup : public ScriptList {

View File

@@ -16,6 +16,7 @@
/**
* Class that handles all waypoint related functions.
* @api ai
*/
class ScriptWaypoint : public ScriptBaseStation {
public:

View File

@@ -17,6 +17,7 @@
/**
* Creates a list of waypoints of which you are the owner.
* @api ai
* @ingroup ScriptList
*/
class ScriptWaypointList : public ScriptList {
@@ -29,6 +30,7 @@ public:
/**
* Creates a list of waypoints which the vehicle has in its orders.
* @api ai
* @ingroup ScriptList
*/
class ScriptWaypointList_Vehicle : public ScriptList {