X-Git-Url: http://git.kpe.io/?p=wol.git;a=blobdiff_plain;f=classes.lisp;h=794cc5792a0df70c580e748fc9e0420f25743f94;hp=965491eaf6a32677b1b1e5b0729fc5ac3e183b17;hb=HEAD;hpb=0c0d797b5e6c5afa9050b8021ea4729f4ab68aca diff --git a/classes.lisp b/classes.lisp index 965491e..794cc57 100644 --- a/classes.lisp +++ b/classes.lisp @@ -1,4 +1,4 @@ -x;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: wol -*- +;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: wol -*- ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; @@ -7,7 +7,7 @@ x;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: wol -*- ;;;; Programmer: Kevin M. Rosenberg ;;;; Date Started: July 2003 ;;;; -;;;; $Id: classes.lisp,v 1.6 2003/08/08 23:40:13 kevin Exp $ +;;;; $Id$ ;;;; ;;;; This file and Wol are Copyright (c) 2001-2003 by Kevin M. Rosenberg ;;;; ************************************************************************* @@ -21,42 +21,44 @@ x;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: wol -*- (counter :initform 0 :accessor counter) (prefix :initform "/" :accessor prefix) (sessions :initform nil :accessor sessions))) - + (defclass websession () ((key :initarg :key :accessor websession-key) (lastref :initarg :lastref :accessor websession-lastref) (lifetime :initarg :lifetime :initform nil - :accessor websession-lifetime) + :accessor websession-lifetime) (data :initform nil :accessor websession-data) (method :initarg :method :accessor websession-method :initform nil) (variables :initform (make-hash-table :test 'equal) - :accessor websession-variables))) - + :accessor websession-variables))) + (defclass wol-project () ((name :initarg :name :initform "" :type string :accessor project-name) (project-prefix :initarg :project-prefix :type string - :initform "/" :accessor project-prefix) + :initform "/" :accessor project-prefix) (map :initarg :map :initform nil :type list :accessor project-map) (hash :initarg :hash :initform nil :accessor project-hash-map) - (index :initarg :index :initform "index" :type string - :accessor project-index) + (index :initarg :index :initform "index" :type string + :accessor project-index) (server :initarg :server :initform nil :accessor project-server) (session-master :initform (make-instance 'session-master) - :accessor session-master) + :accessor session-master) (connector :initarg :connector :accessor project-connector))) (defclass entity () ((project :initarg :project :accessor entity-project) + (generators :initarg :generators :accessor entity-generators + :documentation "List of waiting page generators") (aserve-entity :initarg :aserve-entity :initform nil - :accessor entity-aserve-entity))) + :accessor entity-aserve-entity))) (defclass http-request () ((method :initarg :method :accessor request-method) (uri :initarg :uri :accessor request-uri) (decoded-uri-path :initarg :decoded-uri-path - :accessor request-decoded-uri-path) + :accessor request-decoded-uri-path) (raw-request :initarg :raw-request :accessor request-raw-request) (raw-uri :initarg :raw-uri :accessor request-raw-uri) (protocol :initarg :protocol :reader request-protocol) @@ -66,33 +68,34 @@ x;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: wol -*- (aserve-server :initarg :aserve-server :reader request-aserve-server) (host :initarg :host :accessor request-host) (desired-query :initform nil :accessor request-desired-query - :documentation "type of query alist requested") + :documentation "type of query alist requested") (posted-content :initarg :posted-content :accessor request-posted-content) (headers :initarg :headers :accessor request-headers) (page :initarg :page :initform nil :accessor request-page) + (url-plist :initarg :url-plist :initform nil :accessor request-url-plist) (plist :initarg :plist :initform nil :accessor request-plist) - (next-plists :initarg :next-plists :initform nil - :accessor request-next-plists) - (uri-query :initarg :uri-query :initform nil - :accessor request-uri-query) - (query-alist :initarg :query-alist :initform nil - :accessor request-query-alist) + (url-next-plists :initarg :url-next-plists :initform nil + :accessor request-url-next-plists) + (uri-query :initarg :uri-query :initform nil + :accessor request-uri-query) + (query-alist :initarg :query-alist :initform nil + :accessor request-query-alist) (session :initarg :session :initform nil - :accessor websession-from-req) + :accessor websession-from-req) (aserve-request :initarg :aserve-request :initform nil - :accessor aserve-request) + :accessor aserve-request) )) (defvar *reap-interval* 300) -(defvar *reaper-process* nil) +(defvar *reaper-process* nil) (defvar *active-projects* (make-hash-table :test 'equal)) -(defvar +asp-header+ "lsp") -(defvar +full-asp-header+ "/lsp") +(eval-when (:compile-toplevel :load-toplevel :execute) + (defvar +plist-header+ "sdata" + "string that starts an encoded plist")) -(defvar +plist-header+ "/sdata" - "string that starts an encoded plist") +(defconstant +plist-header-length+ (length +plist-header+)) (defparameter *wol-version* '(0 1 0)) @@ -100,3 +103,6 @@ x;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10; Package: wol -*- "The output stream for the current request") (defconstant +length-session-id+ 24) + +(defvar *req* nil "Current request") +(defvar *ent* nil "Current entity")