truelight@9714: /* $Id$ */ truelight@9714: truelight@9714: /** @file ai_enginelist_valuator.hpp all the valuators for enginelist */ truelight@9714: truelight@9714: #ifndef AI_ENGINELIST_VALUATOR_HPP truelight@9714: #define AI_ENGINELIST_VALUATOR_HPP truelight@9714: truelight@9714: #include "ai_abstractlist.hpp" truelight@9714: truelight@9714: /** truelight@9714: * Get the cargo-type for entries in an AIEngineList instance. truelight@9714: * @note resulting items are of the type CargoID truelight@9714: * @note the input items are of the type EngineID truelight@9714: */ truelight@9714: class AIEngineListCargoType : public AIAbstractList::Valuator { truelight@9714: public: truelight@9714: /** truelight@9714: * The name of the class, needed by several sub-processes. truelight@9714: */ truelight@9714: static const char *GetClassName() { return "AIEngineListCargoType"; } truelight@9714: truelight@9714: private: truelight@9714: int32 Valuate(int32 engine) const; truelight@9714: }; truelight@9714: truelight@9714: /** truelight@9714: * Get the capacity for entries in an AIEngineList instance. truelight@9714: * @note resulting items are of the type int32 truelight@9714: * @note the input items are of the type EngineID truelight@9714: */ truelight@9714: class AIEngineListCapacity : public AIAbstractList::Valuator { truelight@9714: public: truelight@9714: /** truelight@9714: * The name of the class, needed by several sub-processes. truelight@9714: */ truelight@9714: static const char *GetClassName() { return "AIEngineListCapacity"; } truelight@9714: truelight@9714: private: truelight@9714: int32 Valuate(int32 engine) const; truelight@9714: }; truelight@9714: truelight@9714: /** truelight@9714: * Get the reliability for entries in an AIEngineList instance. truelight@9714: * @note resulting items are of the type int32 truelight@9714: * @note the input items are of the type EngineID truelight@9714: */ truelight@9714: class AIEngineListReliability : public AIAbstractList::Valuator { truelight@9714: public: truelight@9714: /** truelight@9714: * The name of the class, needed by several sub-processes. truelight@9714: */ truelight@9714: static const char *GetClassName() { return "AIEngineListReliability"; } truelight@9714: truelight@9714: private: truelight@9714: int32 Valuate(int32 engine) const; truelight@9714: }; truelight@9714: truelight@9714: /** truelight@9714: * Get the max speed for entries in an AIEngineList instance. truelight@9714: * @note resulting items are of the type int32 truelight@9714: * @note the input items are of the type EngineID truelight@9714: */ truelight@9714: class AIEngineListMaxSpeed : public AIAbstractList::Valuator { truelight@9714: public: truelight@9714: /** truelight@9714: * The name of the class, needed by several sub-processes. truelight@9714: */ truelight@9714: static const char *GetClassName() { return "AIEngineListMaxSpeed"; } truelight@9714: truelight@9714: private: truelight@9714: int32 Valuate(int32 engine) const; truelight@9714: }; truelight@9714: truelight@9714: /** truelight@9714: * Get the price for entries in an AIEngineList instance. truelight@9714: * @note resulting items are of the type int32 truelight@9714: * @note the input items are of the type EngineID truelight@9714: */ truelight@9714: class AIEngineListPrice : public AIAbstractList::Valuator { truelight@9714: public: truelight@9714: /** truelight@9714: * The name of the class, needed by several sub-processes. truelight@9714: */ truelight@9714: static const char *GetClassName() { return "AIEngineListPrice"; } truelight@9714: truelight@9714: private: truelight@9714: int32 Valuate(int32 engine) const; truelight@9714: }; truelight@9714: truelight@9714: #endif /* AI_ENGINELIST_VALUATOR_HPP */