polserver/pol-core/pol/module/sqlmod.h
Fernando Rozenblit cbadd96b49
General cleanup of module includes (#253)
1) Made all module methods [[nodiscard]]. Glad to report no leaks were found. We should add the same to BObjects.

2) Protected members of NPCExecutorModule (were public before).
3) Added NPCExecutorModule::controlled_npc() so that osmod can access the npc's name and position.

4) Removed declarations for undefined functions:
- attributemod.h: mf_SetAttributeIntrinsicMod()
- osmod.h: mf_System_RPM()
- vitalmod.h: mf_SetVitalMaximumValue() and mf_SetVitalRegenRate()
2020-08-29 11:35:13 +02:00

68 lines
1.9 KiB
C++

/** @file
*
* @par History
*/
#ifndef SQLMOD_H
#define SQLMOD_H
#include <string>
#include "../polmodl.h"
#include "../uoexec.h"
namespace Pol
{
namespace Bscript
{
class BObjectImp;
class Executor;
class ObjArray;
} // namespace Bscript
namespace Core
{
class UOExecutor;
} // namespace Core
} // namespace Pol
template <class T>
class weak_ptr;
namespace Pol
{
namespace Core
{
class BSQLConnection;
}
namespace Module
{
class SQLExecutorModule : public Bscript::TmplExecutorModule<SQLExecutorModule, Core::PolModule>
{
public:
SQLExecutorModule( Bscript::Executor& exec );
[[nodiscard]] Bscript::BObjectImp* mf_mysql_connect();
[[nodiscard]] Bscript::BObjectImp* mf_mysql_query();
[[nodiscard]] Bscript::BObjectImp* mf_mysql_close();
[[nodiscard]] Bscript::BObjectImp* mf_mysql_num_fields();
[[nodiscard]] Bscript::BObjectImp* mf_mysql_affected_rows();
[[nodiscard]] Bscript::BObjectImp* mf_mysql_fetch_row();
[[nodiscard]] Bscript::BObjectImp* mf_mysql_num_rows();
[[nodiscard]] Bscript::BObjectImp* mf_mysql_select_db();
[[nodiscard]] Bscript::BObjectImp* mf_mysql_field_name();
static Bscript::BObjectImp* background_connect( weak_ptr<Core::UOExecutor> uoexec,
const std::string host,
const std::string username,
const std::string password );
static Bscript::BObjectImp* background_select( weak_ptr<Core::UOExecutor> uoexec,
Core::BSQLConnection* sql, const std::string db );
static Bscript::BObjectImp* background_query( weak_ptr<Core::UOExecutor> uoexec,
Core::BSQLConnection* sql, const std::string query,
const Bscript::ObjArray* params );
virtual size_t sizeEstimate() const override;
};
} // namespace Module
} // namespace Pol
#endif