Update of /project/elephant/cvsroot/elephant/src/elephant In directory clnet:/tmp/cvs-serv12829/src/elephant
Modified Files: controller.lisp variables.lisp Log Message: Minor edits only, checkpointing after unrolling some experiments.
--- /project/elephant/cvsroot/elephant/src/elephant/controller.lisp 2006/09/04 05:01:06 1.13 +++ /project/elephant/cvsroot/elephant/src/elephant/controller.lisp 2006/11/10 01:48:49 1.14 @@ -29,7 +29,6 @@
;; Dynamic tracking of active connections
- (defparameter *elephant-backends* '((:bdb (:ele-bdb)) (:clsql (:ele-clsql)) @@ -110,6 +109,54 @@ ;; ================================================
;; +;; Callback hooks for persistent variables +;; + +(defvar *variable-hooks* nil + "An alist (specs -> varlist) where varlist is tuple of + lisp name, store name (auto) and policy") + +;;(defun add-hook (name spec) +;; (if (assoc spec *variable-hooks* :test #'equal) +;; (push name (assoc spec *variable-hooks* :test #'equal)) +;; (push (cons spec (list name)) *variable-hooks*))) + +;;(defun remove-hook (name spec) +;; (if (assoc spec *variable-hooks* :test #'equal) +;; (setf (assoc spec *variable-hooks* :test #'equal) +;; (remove name (assoc spec *variable-hooks* :test #'equal))) +;; (error "No hooks declared on ~A" spec))) + +;; (defmacro defpvar (name spec (policy &rest accessors) initial-value &optional (documentation nil)) +;; `(progn +;; (defvar ,name ,initial-value ,documentation) +;; (add-hook ,name ,spec) +;; ,(case policy +;; (:wrap-mutators +;; `(progn +;; ,(loop for accessor in accessors do +;; (let ((gf (ensure-generic-function +;; `(defmethod ,accessor :after ( + +;; (defpvar *agencies* (:wrap-mutators +;; 'add-agent +;; 'remove-agent +;; 'clear-agents) +;; nil +;; "test") + +;; (defmethod add-agent (agent) +;; (push agent *agencies*)) + +;; (defmethod remove-agent (agent) +;; (setf *agencies* (remove agent *agencies*))) + +;; (defmethod clear-agents (agent) +;; (setf *agencies* nil)) + + + +;; ;; Open a Store ;;
--- /project/elephant/cvsroot/elephant/src/elephant/variables.lisp 2006/09/05 03:23:17 1.4 +++ /project/elephant/cvsroot/elephant/src/elephant/variables.lisp 2006/11/10 01:48:49 1.5 @@ -69,7 +69,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Thread-local specials
-(defparameter *store-controller* nil +(defvar *store-controller* nil "The store controller which persistent objects talk to.")
;; Specials which control persistent objects