Application

1. Overview

GTK application wrapper responsible for creating and presenting the main BastionGuard Secure Connection window and applying startup behavior such as minimized launch.

File role: Implementation. The file contains 38 lines and belongs to the Application.cpp path.

The companion file is Application.hpp.


2. Component Responsibilities

  • Implement the behavior declared by the corresponding header or entry-point contract.
  • Create the Gtk::Application instance with the BastionGuard application ID
  • Receive the activation callback from GTK
  • Create the MainWindow on first activation
  • Present or hide the window according to the startup-minimized option

3. Dependencies and Integration

Project-level dependencies:

  • Application.hpp

System and library dependencies:

  • cstdio

4. Functions and Methods

The file exposes or implements 3 detected function or method signatures.

1. Application

Application::Application() : Gtk::Application("eu.bastionguard.secure-connection", Gio::Application::Flags::NONE)

Implements the application operation declared by this component.

2. create

Glib::RefPtr<Application> Application::create()

Creates create and initializes the resulting object or file.

3. on_activate

void Application::on_activate()

Handles the activate callback or user event.


5. Runtime Flow

  1. Create the Gtk::Application instance with the BastionGuard application ID
  2. Receive the activation callback from GTK
  3. Create the MainWindow on first activation
  4. Present or hide the window according to the startup-minimized option

6. Runtime and Security Considerations

  • Uses the Gtk::Application single-application lifecycle and application identifier.
  • Keeps window ownership inside the GTK application object.

7. Error Handling and Operational Notes

  • Diagnostic failures are written to standard error or the GLib logging channel.

8. Source Integrity

Relative source path: Application.cpp

SHA-256:

c3adf27ab263c306e4369ba7db050bc8d566bed38d203ebf9937adfa36def832

9. Licensing

No standalone license block is present in this file. Licensing follows the surrounding BastionGuard Secure Connection project and its accompanying source notices.