ImagingTools Core SDK
Public Types | Public Member Functions | List of all members
imtdb::IDatabaseLoginSettingsabstract

Configuration interface for database connection credentials and parameters. More...

#include <IDatabaseLoginSettings.h>

Inherits istd::IChangeable.

Inherited by imtdb::CDatabaseAccessSettings [virtual].

Public Types

enum  ConnectionOptionFlags { COF_NO_SECURITY = 1 , COF_SSL = 2 }
 Flags controlling database connection security and behavior. More...
 

Public Member Functions

virtual QString GetHost () const =0
 Gets the database server hostname or IP address.
 
virtual void SetHost (const QString &host)=0
 Sets the database server hostname or IP address.
 
virtual int GetPort () const =0
 Gets the database server port number.
 
virtual void SetPort (int port)=0
 Sets the database server port number.
 
virtual QString GetDatabaseName () const =0
 Gets the name of the database to connect to.
 
virtual void SetDatabaseName (const QString &databaseName)=0
 Sets the name of the database to connect to.
 
virtual QString GetDatabasePath () const =0
 Gets the file system path for file-based databases.
 
virtual void SetDatabasePath (const QString &databasePath)=0
 Sets the file system path for file-based databases.
 
virtual QString GetUserName () const =0
 Gets the database authentication username.
 
virtual void SetUserName (const QString &userName)=0
 Sets the database authentication username.
 
virtual QString GetPassword () const =0
 Gets the database authentication password.
 
virtual void SetPassword (const QString &password)=0
 Sets the database authentication password.
 
virtual int GetConnectionFlags () const =0
 Gets the connection option flags.
 
virtual void SetConnectionFlags (int connectionFlags)=0
 Sets the connection option flags.
 

Detailed Description

Configuration interface for database connection credentials and parameters.

IDatabaseLoginSettings encapsulates all information required to establish a database connection, including host, port, database name, credentials, and connection options.

Connection Types

The interface supports multiple database types:

Remote Server Databases (PostgreSQL, MySQL):

File-Based Databases (SQLite):

Security Options

ConnectionOptionFlags control security features:

Usage Example

// PostgreSQL connection
auto settings = acf::CreateComponent<CDatabaseAccessSettingsComp>();
settings->SetHost("db.example.com");
settings->SetPort(5432);
settings->SetDatabaseName("production_db");
settings->SetUserName("app_user");
settings->SetPassword("secure_password");
settings->SetConnectionFlags(IDatabaseLoginSettings::COF_SSL);
// SQLite connection
auto sqliteSettings = acf::CreateComponent<CDatabaseAccessSettingsComp>();
sqliteSettings->SetDatabasePath("/var/data/app.sqlite");
sqliteSettings->SetDatabaseName("app_db");
@ COF_SSL
Enable SSL/TLS encrypted connection.
Warning
Store passwords securely - never hardcode or commit to source control
Note
Settings implement IChangeable to notify observers of configuration changes
See also
CDatabaseAccessSettings for implementation
IDatabaseConnector for usage in connection establishment

Definition at line 70 of file IDatabaseLoginSettings.h.

Member Enumeration Documentation

◆ ConnectionOptionFlags

Flags controlling database connection security and behavior.

Enumerator
COF_NO_SECURITY 

Disable connection security (insecure mode)

When enabled, connection will not use encryption or authentication. Only use for development/testing on trusted networks.

COF_SSL 

Enable SSL/TLS encrypted connection.

When enabled, connection uses SSL/TLS encryption to protect data in transit. Recommended for production environments and remote connections.

Definition at line 77 of file IDatabaseLoginSettings.h.

Member Function Documentation

◆ GetConnectionFlags()

virtual int imtdb::IDatabaseLoginSettings::GetConnectionFlags ( ) const
pure virtual

Gets the connection option flags.

Returns
Bitwise OR of ConnectionOptionFlags values
See also
SetConnectionFlags(), ConnectionOptionFlags

◆ GetDatabaseName()

virtual QString imtdb::IDatabaseLoginSettings::GetDatabaseName ( ) const
pure virtual

Gets the name of the database to connect to.

Returns
Database name (e.g., "myapp", "production_db")
Note
For SQLite, this may serve as a connection identifier
See also
SetDatabaseName()

◆ GetDatabasePath()

virtual QString imtdb::IDatabaseLoginSettings::GetDatabasePath ( ) const
pure virtual

Gets the file system path for file-based databases.

Returns
Absolute or relative path to database file (used for SQLite)
Note
Empty for server-based databases (PostgreSQL, MySQL)
See also
SetDatabasePath()

◆ GetHost()

virtual QString imtdb::IDatabaseLoginSettings::GetHost ( ) const
pure virtual

Gets the database server hostname or IP address.

Returns
Host address (e.g., "localhost", "db.example.com", "192.168.1.100")
See also
SetHost()

◆ GetPassword()

virtual QString imtdb::IDatabaseLoginSettings::GetPassword ( ) const
pure virtual

Gets the database authentication password.

Returns
Password for database login
Warning
Passwords should be encrypted/secured in production
See also
SetPassword()

◆ GetPort()

virtual int imtdb::IDatabaseLoginSettings::GetPort ( ) const
pure virtual

Gets the database server port number.

Returns
Port number (e.g., 5432 for PostgreSQL, 3306 for MySQL)
See also
SetPort()

◆ GetUserName()

virtual QString imtdb::IDatabaseLoginSettings::GetUserName ( ) const
pure virtual

Gets the database authentication username.

Returns
Username for database login
See also
SetUserName()

◆ SetConnectionFlags()

virtual void imtdb::IDatabaseLoginSettings::SetConnectionFlags ( int  connectionFlags)
pure virtual

Sets the connection option flags.

Parameters
connectionFlagsBitwise OR of ConnectionOptionFlags values

Example:

// Enable SSL
settings->SetConnectionFlags(IDatabaseLoginSettings::COF_SSL);
// Multiple flags
settings->SetConnectionFlags(
);
@ COF_NO_SECURITY
Disable connection security (insecure mode)
See also
GetConnectionFlags(), ConnectionOptionFlags

◆ SetDatabaseName()

virtual void imtdb::IDatabaseLoginSettings::SetDatabaseName ( const QString &  databaseName)
pure virtual

Sets the name of the database to connect to.

Parameters
databaseNameDatabase name on the server
See also
GetDatabaseName()

◆ SetDatabasePath()

virtual void imtdb::IDatabaseLoginSettings::SetDatabasePath ( const QString &  databasePath)
pure virtual

Sets the file system path for file-based databases.

Parameters
databasePathPath to database file (e.g., "/var/data/app.sqlite")
Note
Only applicable for SQLite and similar file-based databases
See also
GetDatabasePath()

◆ SetHost()

virtual void imtdb::IDatabaseLoginSettings::SetHost ( const QString &  host)
pure virtual

Sets the database server hostname or IP address.

Parameters
hostServer address (e.g., "localhost", "db.example.com")
See also
GetHost()

◆ SetPassword()

virtual void imtdb::IDatabaseLoginSettings::SetPassword ( const QString &  password)
pure virtual

Sets the database authentication password.

Parameters
passwordPassword for database authentication
Warning
Never hardcode passwords - load from secure configuration
See also
GetPassword()

◆ SetPort()

virtual void imtdb::IDatabaseLoginSettings::SetPort ( int  port)
pure virtual

Sets the database server port number.

Parameters
portServer port (e.g., 5432 for PostgreSQL, 3306 for MySQL)
See also
GetPort()

◆ SetUserName()

virtual void imtdb::IDatabaseLoginSettings::SetUserName ( const QString &  userName)
pure virtual

Sets the database authentication username.

Parameters
userNameUsername for database authentication
See also
GetUserName()