37#if FB_CPP_USE_BOOST_DLL != 0 
   38#include <boost/dll.hpp> 
   64#if FB_CPP_USE_BOOST_DLL != 0 
   69        explicit Client(
const boost::dll::fs::path& fbclientLibPath,
 
   70            boost::dll::load_mode::type loadMode = boost::dll::load_mode::append_decorations |
 
   71                boost::dll::load_mode::search_system_folders)
 
   72            : 
Client{boost::dll::shared_library{fbclientLibPath, loadMode}}
 
 
   80        explicit Client(boost::dll::shared_library fbclientLib)
 
   81            : fbclientLib(fbclientLib)
 
   83            const auto fbGetMasterInterface =
 
   84                fbclientLib.get<
decltype(fb::fb_get_master_interface)>(
"fb_get_master_interface");
 
   85            master = fbGetMasterInterface();
 
 
   97              decFloat16Util{o.decFloat16Util},
 
   98              decFloat34Util{o.decFloat34Util}
 
   99#if FB_CPP_USE_BOOST_DLL != 0 
  101              fbclientLib{std::move(o.fbclientLib)}
 
  106            o.decFloat16Util = 
nullptr;
 
  107            o.decFloat34Util = 
nullptr;
 
 
  128            return master != 
nullptr;
 
 
  147                util = master->getUtilInterface();
 
 
  155        template <std::derived_from<fb::IStatus> StatusType>
 
  161                decFloat16Util = 
getUtil()->getDecFloat16(status);
 
  163            return decFloat16Util;
 
 
  169        template <std::derived_from<fb::IStatus> StatusType>
 
  175                decFloat34Util = 
getUtil()->getDecFloat34(status);
 
  177            return decFloat34Util;
 
 
  186            return fbUnique(master->getStatus());
 
 
  196        fb::IUtil* util = 
nullptr;
 
  197        fb::IDecFloat16* decFloat16Util = 
nullptr;
 
  198        fb::IDecFloat34* decFloat34Util = 
nullptr;
 
  199#if FB_CPP_USE_BOOST_DLL != 0 
  200        boost::dll::shared_library fbclientLib;
 
 
Represents a Firebird client library instance.
fb::IUtil * getUtil()
Returns a Firebird IUtil interface.
Client(fb::IMaster *master)
Constructs a Client object that uses the specified IMaster interface.
FbUniquePtr< fb::IStatus > newStatus()
Creates and returns a Firebird IStatus instance.
fb::IDecFloat16 * getDecFloat16Util(StatusType *status)
Returns a Firebird IDecFloat16 interface.
fb::IMaster * getMaster() noexcept
Returns the Firebird IMaster interface.
void shutdown()
Shuts down the Firebird client library (or embedded engine) instance.
Client(const boost::dll::fs::path &fbclientLibPath, boost::dll::load_mode::type loadMode=boost::dll::load_mode::append_decorations|boost::dll::load_mode::search_system_folders)
Constructs a Client object that loads the Firebird client library (or embedded engine) from the speci...
Client(boost::dll::shared_library fbclientLib)
Constructs a Client object that uses the specified Boost.DLL shared_library representing the Firebird...
~Client() noexcept=default
If the Client object was created using Boost.DLL, this destructor just releases the internal boost::d...
fb::IDecFloat34 * getDecFloat34Util(StatusType *status)
Returns a Firebird IDecFloat34 interface.
bool isValid() noexcept
Returns whether the Client object is valid.
Client(Client &&o) noexcept
Move constructor.