File indexing completed on 2025-02-23 05:15:17

0001 //
0002 // Copyright (C) 2004-2006 Maciej Sobczak, Stephen Hutton
0003 // MySQL backend copyright (C) 2006 Pawel Aleksander Fedorynski
0004 // Distributed under the Boost Software License, Version 1.0.
0005 // (See accompanying file LICENSE_1_0.txt or copy at
0006 // http://www.boost.org/LICENSE_1_0.txt)
0007 //
0008 
0009 #define SOCI_MYSQL_SOURCE
0010 #include "soci/mysql/soci-mysql.h"
0011 #include "soci/backend-loader.h"
0012 #include <ciso646>
0013 
0014 #ifdef _MSC_VER
0015 #pragma warning(disable:4355)
0016 #endif
0017 
0018 using namespace soci;
0019 using namespace soci::details;
0020 
0021 
0022 // concrete factory for MySQL concrete strategies
0023 mysql_session_backend * mysql_backend_factory::make_session(
0024      connection_parameters const & parameters) const
0025 {
0026      return new mysql_session_backend(parameters);
0027 }
0028 
0029 mysql_backend_factory const soci::mysql;
0030 
0031 extern "C"
0032 {
0033 
0034 // for dynamic backend loading
0035 SOCI_MYSQL_DECL backend_factory const * factory_mysql()
0036 {
0037     return &soci::mysql;
0038 }
0039 
0040 SOCI_MYSQL_DECL void register_factory_mysql()
0041 {
0042     soci::dynamic_backends::register_backend("mysql", soci::mysql);
0043 }
0044 
0045 } // extern "C"