summaryrefslogtreecommitdiff
path: root/src/dnd.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dnd.lisp')
-rw-r--r--src/dnd.lisp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/dnd.lisp b/src/dnd.lisp
index 952b8fe..70edd7d 100644
--- a/src/dnd.lisp
+++ b/src/dnd.lisp
@@ -2,16 +2,23 @@
(in-package #:dnd)
+(defvar *config* nil
+ "Instance of the config class globally available.")
+
(defvar *dnd-arena* nil
"The instance of the HTTP server")
-(defun start ()
- (init-db)
+(defun start (&optional config-path)
+ "Configures and initializes the datastore and web server, then starts the server."
+ (setf *config* (config-from-file (or config-path
+ (asdf:system-relative-pathname "dnd" "config.lisp"))))
+ (init-db *config*)
(setf *dnd-arena* (lzb:create-server))
(lzb:install-app *dnd-arena* (lzb:app 'dnd))
(lzb:start-server *dnd-arena*))
(defun boot ()
+ "Main entrypoint for an executable version of DND."
(swank:create-server :port 9876 :dont-close t)
(start)
(loop (sleep 1)))