From 0657d6815943b5350bf4a596cd826f7a9de14a90 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Fri, 8 May 2026 22:57:05 -0300 Subject: port docs to doxygen --- docs/mainpage.dox | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 docs/mainpage.dox (limited to 'docs/mainpage.dox') diff --git a/docs/mainpage.dox b/docs/mainpage.dox new file mode 100644 index 0000000..0013b0b --- /dev/null +++ b/docs/mainpage.dox @@ -0,0 +1,56 @@ +/** + * @mainpage Relational NT + * + * @image html logo.png + * + * Relational NT is an experimental database kernel inspired by the + * object-management model of the Windows NT kernel. The project applies the + * same style of explicit object management to database state: relations, + * tuples, transactions, namespaces, permissions, cursors, and handles are + * treated as runtime-managed objects rather than isolated subsystems. + * + * The current codebase is intentionally early-stage. Most classes define the + * boundaries of the runtime and document the design constraints that should + * guide future implementation. + * + * @section architecture Architecture Direction + * + * - ObjectManager registers, locates, and references database objects. + * - PermissionsManager keeps security checks separate from object lookup. + * - IdentityManager decides whether an object supports lifecycle operations + * such as open and close. + * - LifecycleManager models monitoring, pinning, cleanup, and contention. + * - HandlerManager represents authorized access through explicit handles. + * - CursorManager bridges durable snapshots and pull-based query execution. + * - VM separates terminating relational retrieval from higher-order logic + * execution. + * + * @section building Building + * + * From a Visual Studio/NMake environment: + * + * @code{.sh} + * nmake /f Makefile windows + * @endcode + * + * From a Unix-like environment with Make and a C++17 compiler: + * + * @code{.sh} + * make unix + * @endcode + * + * @section docs Generating Documentation + * + * Install Doxygen and run: + * + * @code{.sh} + * doxygen Doxyfile + * @endcode + * + * The generated HTML documentation is written to docs/generated/html. + */ + +/** + * @namespace nt + * @brief Contains the Relational NT runtime managers and API facade. + */ -- cgit v1.2.3