GnuCash c935c2f+
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
UriStrings Struct Reference

Public Member Functions

 UriStrings (const std::string &uri)
 
std::string basename () const noexcept
 
const char * dbname () const noexcept
 
std::string quote_dbname (DbType t) const noexcept
 

Data Fields

std::string m_protocol
 
std::string m_host
 
std::string m_dbname
 
std::string m_username
 
std::string m_password
 
std::string m_basename
 
int m_portnum
 

Detailed Description

Definition at line 116 of file gnc-backend-dbi.cpp.

Constructor & Destructor Documentation

◆ UriStrings()

UriStrings::UriStrings ( const std::string &  uri)

Definition at line 133 of file gnc-backend-dbi.cpp.

134{
135 gchar *scheme, *host, *username, *password, *dbname;
136 int portnum;
137 gnc_uri_get_components(uri.c_str(), &scheme, &host, &portnum, &username,
138 &password, &dbname);
139 m_protocol = std::string{scheme};
140 m_host = std::string{host};
141 if (dbname)
142 m_dbname = std::string{dbname};
143 if (username)
144 m_username = std::string{username};
145 if (password)
146 m_password = std::string{password};
147 m_portnum = portnum;
148 g_free(scheme);
149 g_free(host);
150 g_free(username);
151 g_free(password);
152 g_free(dbname);
153}
void gnc_uri_get_components(const gchar *uri, gchar **scheme, gchar **hostname, gint32 *port, gchar **username, gchar **password, gchar **path)
Converts a uri in separate components.

Member Function Documentation

◆ basename()

std::string UriStrings::basename ( ) const
noexcept

Definition at line 156 of file gnc-backend-dbi.cpp.

157{
158 return m_protocol + "_" + m_host + "_" + m_username + "_" + m_dbname;
159}

◆ dbname()

const char * UriStrings::dbname ( ) const
noexcept

Definition at line 162 of file gnc-backend-dbi.cpp.

163{
164 return m_dbname.c_str();
165}

◆ quote_dbname()

std::string UriStrings::quote_dbname ( DbType  t) const
noexcept

Definition at line 168 of file gnc-backend-dbi.cpp.

169{
170 if (m_dbname.empty())
171 return "";
172 const char quote = (t == DbType::DBI_MYSQL ? '`' : '"');
173 std::string retval(1, quote);
174 retval += m_dbname + quote;
175 return retval;
176}

Field Documentation

◆ m_basename

std::string UriStrings::m_basename

Definition at line 129 of file gnc-backend-dbi.cpp.

◆ m_dbname

std::string UriStrings::m_dbname

Definition at line 126 of file gnc-backend-dbi.cpp.

◆ m_host

std::string UriStrings::m_host

Definition at line 125 of file gnc-backend-dbi.cpp.

◆ m_password

std::string UriStrings::m_password

Definition at line 128 of file gnc-backend-dbi.cpp.

◆ m_portnum

int UriStrings::m_portnum

Definition at line 130 of file gnc-backend-dbi.cpp.

◆ m_protocol

std::string UriStrings::m_protocol

Definition at line 124 of file gnc-backend-dbi.cpp.

◆ m_username

std::string UriStrings::m_username

Definition at line 127 of file gnc-backend-dbi.cpp.


The documentation for this struct was generated from the following file: