fb-cpp 0.0.1
A modern C++ wrapper for the Firebird database API
Loading...
Searching...
No Matches
fbcpp::Client Class Referencefinal

Represents a Firebird client library instance. More...

#include <Client.h>

Public Member Functions

 Client (fb::IMaster *master)
 Constructs a Client object that uses the specified IMaster interface.
 
 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 specified path using Boost.DLL.
 
 Client (boost::dll::shared_library fbclientLib)
 Constructs a Client object that uses the specified Boost.DLL shared_library representing the Firebird client library (or embedded engine).
 
 Client (Client &&o) noexcept
 Move constructor.
 
 ~Client () noexcept=default
 If the Client object was created using Boost.DLL, this destructor just releases the internal boost::dll::shared_library resource.
 
Clientoperator= (Client &&)=delete
 
Clientoperator= (const Client &o)=delete
 
 Client (const Client &)=delete
 
bool isValid () noexcept
 Returns whether the Client object is valid.
 
fb::IMaster * getMaster () noexcept
 Returns the Firebird IMaster interface.
 
fb::IUtil * getUtil ()
 Returns a Firebird IUtil interface.
 
template<std::derived_from< fb::IStatus > StatusType>
fb::IDecFloat16 * getDecFloat16Util (StatusType *status)
 Returns a Firebird IDecFloat16 interface.
 
template<std::derived_from< fb::IStatus > StatusType>
fb::IDecFloat34 * getDecFloat34Util (StatusType *status)
 Returns a Firebird IDecFloat34 interface.
 
FbUniquePtr< fb::IStatus > newStatus ()
 Creates and returns a Firebird IStatus instance.
 
void shutdown ()
 Shuts down the Firebird client library (or embedded engine) instance.
 

Detailed Description

Represents a Firebird client library instance.

The Client must exist and remain valid while there are other objects using it, such as Attachment, Transaction and Statement.

Definition at line 52 of file Client.h.

Constructor & Destructor Documentation

◆ Client() [1/4]

fbcpp::Client::Client ( fb::IMaster *  master)
inlineexplicit

Constructs a Client object that uses the specified IMaster interface.

Definition at line 58 of file Client.h.

◆ Client() [2/4]

fbcpp::Client::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 
)
inlineexplicit

Constructs a Client object that loads the Firebird client library (or embedded engine) from the specified path using Boost.DLL.

Definition at line 69 of file Client.h.

◆ Client() [3/4]

fbcpp::Client::Client ( boost::dll::shared_library  fbclientLib)
inlineexplicit

Constructs a Client object that uses the specified Boost.DLL shared_library representing the Firebird client library (or embedded engine).

Definition at line 80 of file Client.h.

◆ Client() [4/4]

fbcpp::Client::Client ( Client &&  o)
inlinenoexcept

Move constructor.

A moved Client object becomes invalid.

Definition at line 94 of file Client.h.

◆ ~Client()

fbcpp::Client::~Client ( )
defaultnoexcept

If the Client object was created using Boost.DLL, this destructor just releases the internal boost::dll::shared_library resource.

It nevers automatically shuts down the Firebird client library (or embedded engine) instance.

Member Function Documentation

◆ getDecFloat16Util()

template<std::derived_from< fb::IStatus > StatusType>
fb::IDecFloat16 * fbcpp::Client::getDecFloat16Util ( StatusType *  status)
inline

Returns a Firebird IDecFloat16 interface.

Definition at line 156 of file Client.h.

◆ getDecFloat34Util()

template<std::derived_from< fb::IStatus > StatusType>
fb::IDecFloat34 * fbcpp::Client::getDecFloat34Util ( StatusType *  status)
inline

Returns a Firebird IDecFloat34 interface.

Definition at line 170 of file Client.h.

◆ getMaster()

fb::IMaster * fbcpp::Client::getMaster ( )
inlinenoexcept

Returns the Firebird IMaster interface.

Definition at line 134 of file Client.h.

◆ getUtil()

fb::IUtil * fbcpp::Client::getUtil ( )
inline

Returns a Firebird IUtil interface.

Definition at line 142 of file Client.h.

◆ isValid()

bool fbcpp::Client::isValid ( )
inlinenoexcept

Returns whether the Client object is valid.

Definition at line 126 of file Client.h.

◆ newStatus()

FbUniquePtr< fb::IStatus > fbcpp::Client::newStatus ( )
inline

Creates and returns a Firebird IStatus instance.

Definition at line 183 of file Client.h.

◆ shutdown()

void Client::shutdown ( )

Shuts down the Firebird client library (or embedded engine) instance.

Definition at line 33 of file Client.cpp.


The documentation for this class was generated from the following files: