aboutsummaryrefslogtreecommitdiffstats
path: root/docs/mainpage.dox
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-05-08 22:57:05 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-05-08 22:57:05 -0300
commit0657d6815943b5350bf4a596cd826f7a9de14a90 (patch)
tree53d4fbd03731e483f1bd83a58beab64a330c7f1d /docs/mainpage.dox
parentbe67e04f498f02c601788f2e23913827d2aa3c21 (diff)
downloadRNT-0657d6815943b5350bf4a596cd826f7a9de14a90.tar.gz
RNT-0657d6815943b5350bf4a596cd826f7a9de14a90.zip
port docs to doxygen
Diffstat (limited to '')
-rw-r--r--docs/mainpage.dox56
1 files changed, 56 insertions, 0 deletions
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.
+ */