job-args c-job-args
job-start-trigger c-job-start-trigger
job-end-trigger c-job-end-trigger
+ job-name c-job-name
+ job-redirect c-job-redirect
c-check-job))
;;; records
(define-record-type <job>
- (make-job command-line args start-trigger end-trigger)
+ (make-job name command-line args start-trigger end-trigger redirect)
job?
+ (name job-name)
(command-line job-command-line)
(args job-args)
(start-trigger job-start-trigger)
- (end-trigger job-end-trigger))
+ (end-trigger job-end-trigger)
+ (redirect job-redirect))
;;; this sillyness is because i'm not sure how to expand macros in scm_call
(define (c-check-job obj)
(define (c-job-end-trigger obj)
(job-end-trigger obj))
+(define (c-job-name obj)
+ (job-name obj))
+
+(define (c-job-redirect obj)
+ (job-redirect obj))
+
;;; functions
(define (get-keyword-value args keyword default)
(let ((keyword-value (memq keyword args)))
(let ((command-line (get-keyword-value rest #:command-line #f))
(args (get-keyword-value rest #:args (list)))
(start-trigger (get-keyword-value rest #:start-trigger 'login))
- (end-trigger (get-keyword-value rest #:end-trigger #f)))
+ (end-trigger (get-keyword-value rest #:end-trigger #f))
+ (name (get-keyword-value rest #:name "default"))
+ (redirect (get-keyword-value rest #:redirect #f)))
;; do thing with keyword-ed variables
;; (display "settings:") (newline)
;; (format (current-output-port)
;; (newline)
;; create a new object that represents the args given.
- (make-job command-line
+ (make-job name
+ command-line
args
start-trigger
- end-trigger)
+ end-trigger
+ redirect)
))