diff --git a/src/driver.h b/src/driver.h --- a/src/driver.h +++ b/src/driver.h @@ -12,11 +12,12 @@ #include "core/enum_type.hpp" #include "core/string_compare_type.hpp" +#include "string_type.h" #include -const char *GetDriverParam(const char * const *parm, const char *name); -bool GetDriverParamBool(const char * const *parm, const char *name); -int GetDriverParamInt(const char * const *parm, const char *name, int def); +const char *GetDriverParam(const StringList &parm, const char *name); +bool GetDriverParamBool(const StringList &parm, const char *name); +int GetDriverParamInt(const StringList &parm, const char *name, int def); /** A driver for communicating with the user. */ class Driver { @@ -26,7 +27,7 @@ public: * @param parm Parameters passed to the driver. * @return nullptr if everything went okay, otherwise an error message. */ - virtual const char *Start(const char * const *parm) = 0; + virtual const char *Start(const StringList &parm) = 0; /** * Stop this driver. @@ -66,7 +67,7 @@ private: const char *name; ///< The name of the drivers of this factory. const char *description; ///< The description of this driver. - typedef std::map Drivers; ///< Type for a map of drivers. + typedef std::map Drivers; ///< Type for a map of drivers. /** * Get the map with drivers. @@ -99,7 +100,7 @@ private: return driver_type_name[type]; } - static bool SelectDriverImpl(const char *name, Driver::Type type); + static bool SelectDriverImpl(const std::string &name, Driver::Type type); protected: DriverFactoryBase(Driver::Type type, int priority, const char *name, const char *description); @@ -118,7 +119,7 @@ public: } } - static void SelectDriver(const char *name, Driver::Type type); + static void SelectDriver(const std::string &name, Driver::Type type); static char *GetDriversInfo(char *p, const char *last); /**