Application.hpp

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: Header Interface. The file contains 27 lines and belongs to the Application.hpp path.

The companion file is Application.cpp.


2. Component Responsibilities

  • Declare the component API, owned state, callbacks, and data structures.
  • 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:

  • gtkmm.h
  • MainWindow.hpp

4. Declared Types

Application

Declares a class derived from or associated with public Gtk::Application.


5. Owned State and UI Members

Data and configuration state

  • MainWindow* m_window = nullptr;
  • bool m_startMinimized = false;

6. Functions and Methods

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

1. create

static Glib::RefPtr<Application> create()

Creates create and initializes the resulting object or file.

2. Application

Application()

Implements the application operation declared by this component.

3. on_activate

void on_activate() override

Handles the activate callback or user event.

4. setStartMinimized

void setStartMinimized(bool v)

Updates start minimized and synchronizes dependent state.


7. 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

8. Runtime and Security Considerations

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

9. Error Handling and Operational Notes

  • Errors are propagated through the return type, callbacks, or the owning controller.

10. Source Integrity

Relative source path: Application.hpp

SHA-256:

b792f12da205e25521f2783cac2fe931c122841cb57483c1f9cc1c25ebe91270

11. Licensing

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