The smackjack Reference Manual

This is the smackjack Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:54:44 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 smackjack

A small Ajax framework for hunchentoot using parenscript

Author

Andy Peterson <>

License

MIT

Version

0.1

Dependencies
  • alexandria (system).
  • hunchentoot (system).
  • cl-json (system).
  • parenscript (system).
  • cl-containers (system).
  • sb-introspect (system).
Source

smackjack.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 smackjack/impl-dependent

Dependencies
Source

smackjack.asd.

Parent Component

smackjack (system).

Child Component

sbcl.lisp (file).


4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 smackjack/smackjack.asd

Source

smackjack.asd.

Parent Component

smackjack (system).

ASDF Systems

smackjack.


4.1.2 smackjack/package.lisp

Source

smackjack.asd.

Parent Component

smackjack (system).

Packages

smackjack.


4.1.3 smackjack/smackjack.lisp

Dependency

package.lisp (file).

Source

smackjack.asd.

Parent Component

smackjack (system).

Public Interface
Internals

4.1.4 smackjack/pusher.lisp

Dependency

smackjack.lisp (file).

Source

smackjack.asd.

Parent Component

smackjack (system).

Public Interface
Internals

4.1.5 smackjack/impl-dependent/sbcl.lisp

Source

smackjack.asd.

Parent Component

impl-dependent (module).

Internals

arglist (function).


5 Packages

Packages are listed by definition order.


5.1 smackjack

the one and only smackjack package. Contains all code to run the ajax framework.

Source

package.lisp.

Use List
  • alexandria.
  • common-lisp.
  • hunchentoot.
  • parenscript.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Macros

Macro: defun-ajax (name lambda-list (processor &rest remote-keys) &body body)

Macro to defun a server-side function that can be called from a client page. Example: (defun-ajax func1 (arg1 arg2) (*ajax-processor*)
(do-stuff))

Package

smackjack.

Source

smackjack.lisp.

Macro: defun-push (name lambda-list (processor &rest keys) &body body)

declares and defines a ’push’ function that when called in lisp causes the correponding javascript function to be called in the client page. the body should be parenscript code to be compiled into javascript

Package

smackjack.

Source

pusher.lisp.


6.1.2 Generic functions

Generic Reader: ajax-function-prefix (object)
Generic Writer: (setf ajax-function-prefix) (object)
Package

smackjack.

Methods
Reader Method: ajax-function-prefix ((ajax-processor ajax-processor))
Writer Method: (setf ajax-function-prefix) ((ajax-processor ajax-processor))

Symbol. Prefix for javascript functions corresponding
to lisp functions. Default is nil for no prefix.

Source

smackjack.lisp.

Target Slot

ajax-function-prefixn.

Generic Reader: ajax-functions-namespace-p (object)
Generic Writer: (setf ajax-functions-namespace-p) (object)
Package

smackjack.

Methods
Reader Method: ajax-functions-namespace-p ((ajax-processor ajax-processor))
Writer Method: (setf ajax-functions-namespace-p) ((ajax-processor ajax-processor))

Boolean. Place javascript functions corresponding
to lisp functions in the ajax-namespace. Default t.

Source

smackjack.lisp.

Target Slot

ajax-functions-namespace-p.

Generic Reader: ajax-namespace (object)
Generic Writer: (setf ajax-namespace) (object)
Package

smackjack.

Methods
Reader Method: ajax-namespace ((ajax-processor ajax-processor))
Writer Method: (setf ajax-namespace) ((ajax-processor ajax-processor))

Symbol or nil. Name for a namespace object for generated
javascript code. Nil means no namespace; code will be global

Source

smackjack.lisp.

Target Slot

ajax-namespace.

Generic Function: create-ajax-dispatcher (processor)

Creates a hunchentoot dispatcher for an ajax processor. One possible usage:
(push (create-ajax-dispatcher your-ajax-processor) hunchentoot:*dispatch-table*)

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: create-ajax-dispatcher ((processor ajax-processor))
Generic Reader: default-content-type (object)
Generic Writer: (setf default-content-type) (object)
Package

smackjack.

Methods
Reader Method: default-content-type ((ajax-processor ajax-processor))
Writer Method: (setf default-content-type) ((ajax-processor ajax-processor))

String. The http content type that is sent with each response

Source

smackjack.lisp.

Target Slot

default-content-type.

Generic Function: generate-prologue (processor &key wrapper)

Creates a string that contains all the client-side
javascript code for the ajax communication. Optionally include <script> ... </script> html element wrapper. If including the wrapper, include this script in the <head> </head> of each html page. Without the wrapper, a virtual file can be done like: (define-easy-handler (js-ajax-code :uri "/ajax-code.js") ()
(when (boundp ’hunchentoot:*request*)
(setf (content-type*) "text/javascript"))
(generate-prologue *ajax-processor* :wrapper nil))

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: generate-prologue ((processor ajax-processor) &key wrapper)
Generic Reader: ht-simple-ajax-symbols-p (object)
Generic Writer: (setf ht-simple-ajax-symbols-p) (object)
Package

smackjack.

Methods
Reader Method: ht-simple-ajax-symbols-p ((ajax-processor ajax-processor))
Writer Method: (setf ht-simple-ajax-symbols-p) ((ajax-processor ajax-processor))

Boolean. use ht-simple-ajax symbol processor to generate compatible ht-simple-ajax compatible code

Source

smackjack.lisp.

Target Slot

ht-simple-ajax-symbols-p.

Generic Reader: json-args-p (object)
Generic Writer: (setf json-args-p) (object)
Package

smackjack.

Methods
Reader Method: json-args-p ((ajax-processor ajax-processor))
Writer Method: (setf json-args-p) ((ajax-processor ajax-processor))

Boolean. Ajax function arguments are passed using json

Source

smackjack.lisp.

Target Slot

json-args-p.

Generic Reader: pusher-poll-function-name (object)
Package

smackjack.

Methods
Reader Method: pusher-poll-function-name ((ajax-pusher ajax-pusher))

Name of the smackjack function called
on the client side when polling for pushes. Note: this name is a tag. The function does not actually exist on the server.

Source

pusher.lisp.

Target Slot

poll-function-name.

Generic Function: (setf pusher-poll-function-name) (object)
Package

smackjack.

Methods
Writer Method: (setf pusher-poll-function-name) :after ((pusher ajax-pusher))
Source

pusher.lisp.

Target Slot

poll-function-name.

Method: (setf pusher-poll-function-name) :before ((pusher ajax-pusher))
Source

pusher.lisp.

Method: (setf pusher-poll-function-name) ((ajax-pusher ajax-pusher))

Name of the smackjack function called
on the client side when polling for pushes. Note: this name is a tag. The function does not actually exist on the server.

Source

pusher.lisp.

Generic Reader: pusher-poll-interval (object)
Generic Writer: (setf pusher-poll-interval) (object)
Package

smackjack.

Methods
Reader Method: pusher-poll-interval ((ajax-pusher ajax-pusher))
Writer Method: (setf pusher-poll-interval) ((ajax-pusher ajax-pusher))

The number of milliseconds between polls of the server for push calls.

Source

pusher.lisp.

Target Slot

poll-interval.

Generic Reader: pusher-poll-namespace (object)
Generic Writer: (setf pusher-poll-namespace) (object)
Package

smackjack.

Methods
Reader Method: pusher-poll-namespace ((ajax-pusher ajax-pusher))
Writer Method: (setf pusher-poll-namespace) ((ajax-pusher ajax-pusher))

javascript namespace (i.e. object) to hold the polling code and the defined push functions

Source

pusher.lisp.

Target Slot

poll-namespace.

Generic Reader: pusher-pushes-per-poll (object)
Generic Writer: (setf pusher-pushes-per-poll) (object)
Package

smackjack.

Methods
Reader Method: pusher-pushes-per-poll ((ajax-pusher ajax-pusher))
Writer Method: (setf pusher-pushes-per-poll) ((ajax-pusher ajax-pusher))

Maximum number of pushes per poll.

Source

pusher.lisp.

Target Slot

pushes-per-poll.

Generic Reader: server-uri (object)
Generic Writer: (setf server-uri) (object)
Package

smackjack.

Methods
Reader Method: server-uri ((ajax-processor ajax-processor))
Writer Method: (setf server-uri) ((ajax-processor ajax-processor))

String. The uri which is used to handle ajax request

Source

smackjack.lisp.

Target Slot

server-uri.


6.1.3 Standalone methods

Writer Method: (setf content-type) ((ajax-function ajax-function))

The http content type that is sent with each response

Package

hunchentoot.

Source

smackjack.lisp.

Target Slot

content-type.

Reader Method: content-type ((ajax-function ajax-function))

The http content type that is sent with each response

Package

hunchentoot.

Source

smackjack.lisp.

Target Slot

content-type.

Method: initialize-instance :after ((pusher ajax-pusher) &key)

add remote polling function name after creating pusher class.

Source

pusher.lisp.

Writer Method: (setf reply-external-format) ((ajax-processor ajax-processor))

The format for the character output stream

Package

hunchentoot.

Source

smackjack.lisp.

Target Slot

reply-external-format.

Reader Method: reply-external-format ((ajax-processor ajax-processor))

The format for the character output stream

Package

hunchentoot.

Source

smackjack.lisp.

Target Slot

reply-external-format.


6.1.4 Classes

Class: ajax-processor

The principal and controlling class of this
library. The programmer will instantiate this class, define the ajax functions of the class and link the dispatcher to hunchentoot’s dispatcher. This processor will also generate javascript code that can be loaded to the browser.

Package

smackjack.

Source

smackjack.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: ajax-functions

Hashtable maps the symbol names of the remoted functions to their ajax-function object

Type

hash-table

Initform

(make-hash-table :test (function equal))

Readers

ajax-functions.

Writers

(setf ajax-functions).

Slot: ajax-namespace

Symbol or nil. Name for a namespace object for generated
javascript code. Nil means no namespace; code will be global

Type

symbol

Initform

(quote smackjack::smackjack)

Initargs

:ajax-namespace

Readers

ajax-namespace.

Writers

(setf ajax-namespace).

Slot: ajax-functions-namespace-p

Boolean. Place javascript functions corresponding
to lisp functions in the ajax-namespace. Default t.

Type

boolean

Initform

t

Initargs

:ajax-functions-namespace-p

Readers

ajax-functions-namespace-p.

Writers

(setf ajax-functions-namespace-p).

Slot: ajax-function-prefixn

Symbol. Prefix for javascript functions corresponding
to lisp functions. Default is nil for no prefix.

Type

symbol

Initargs

:ajax-function-prefix

Readers

ajax-function-prefix.

Writers

(setf ajax-function-prefix).

Slot: ht-simple-ajax-symbols-p

Boolean. use ht-simple-ajax symbol processor to generate compatible ht-simple-ajax compatible code

Type

boolean

Initargs

:ht-simple-ajax-symbols-p

Readers

ht-simple-ajax-symbols-p.

Writers

(setf ht-simple-ajax-symbols-p).

Slot: json-args-p

Boolean. Ajax function arguments are passed using json

Type

boolean

Initform

t

Initargs

:json-args-p

Readers

json-args-p.

Writers

(setf json-args-p).

Slot: server-uri

String. The uri which is used to handle ajax request

Type

string

Initform

"/ajax"

Initargs

:server-uri

Readers

server-uri.

Writers

(setf server-uri).

Slot: default-content-type

String. The http content type that is sent with each response

Type

string

Initform

"text/xml; charset=\"utf-8\""

Initargs

:default-content-type

Readers

default-content-type.

Writers

(setf default-content-type).

Slot: reply-external-format

The format for the character output stream

Package

hunchentoot.

Type

flexi-streams::external-format

Initform

hunchentoot::+utf-8+

Initargs

:reply-external-format

Readers

reply-external-format.

Writers

(setf reply-external-format).

Class: ajax-pusher

The class adds pushing capabilities to ajax-processor.
The server can push function calls to the client. That is the lisp server code calls a function with arguments that will cause a corresponding function call on the client side.

Package

smackjack.

Source

pusher.lisp.

Direct superclasses

ajax-processor.

Direct methods
Direct slots
Slot: poll-namespace

javascript namespace (i.e. object) to hold the polling code and the defined push functions

Type

symbol

Initform

(quote smackjack::smackpusher)

Initargs

:poll-namespace

Readers

pusher-poll-namespace.

Writers

(setf pusher-poll-namespace).

Slot: poll-function-name

Name of the smackjack function called
on the client side when polling for pushes. Note: this name is a tag. The function does not actually exist on the server.

Type

symbol

Initform

(quote smackjack::push-poll-request)

Initargs

:poll-function-name

Readers

pusher-poll-function-name.

Writers

(setf pusher-poll-function-name).

Slot: session-queue-name

pretty sure this is not used.

Type

symbol

Initform

:smackpush-queue

Initargs

:session-queue-name

Readers

pusher-session-queue-name.

Writers

(setf pusher-session-queue-name).

Slot: poll-interval

The number of milliseconds between polls of the server for push calls.

Type

(integer 1)

Initform

5000

Initargs

:poll-interval

Readers

pusher-poll-interval.

Writers

(setf pusher-poll-interval).

Slot: push-functions

Maps the symbol names of the remoted functions to their ajax-function object

Type

hash-table

Initform

(make-hash-table :test (function equal))

Readers

pusher-push-functions.

Writers

(setf pusher-push-functions).

Slot: pushes-per-poll

Maximum number of pushes per poll.

Type

(integer 1)

Initform

1

Initargs

:pushes-per-poll

Readers

pusher-pushes-per-poll.

Writers

(setf pusher-pushes-per-poll).

Class: ht-simple-ajax-processor

A sub-class designed to be compatible with ht-simple-ajax

Package

smackjack.

Source

smackjack.lisp.

Direct superclasses

ajax-processor.

Direct slots
Slot: ajax-namespace
Slot: ajax-functions-namespace-p
Slot: ajax-function-prefix
Initform

(quote smackjack::ajax)

Slot: ht-simple-ajax-symbols-p
Initform

t

Slot: json-args-p

6.2 Internals


6.2.1 Ordinary functions

Function: arglist (function-designator)
Package

smackjack.

Source

sbcl.lisp.

Function: escape-string (string)

Escape all characters in STRING which pass TEST. This function is not guaranteed to return a fresh string. Note that you can pass NIL for STRING which’ll just be returned.

Package

smackjack.

Source

smackjack.lisp.

Function: html-script-cdata (js &key newlines)

html script/cdata wrapper for javascript
wraps javascript in a <script> ... </script> html element

Package

smackjack.

Source

smackjack.lisp.

Function: make-simple-js-symbol (symbol)

this functions generates converts lisps symbols to format used by ht-simple-ajax and will be transformed by parenscript so that. they are compatibile with ht-simple-ajax.
helper function for making ’foo_bar_ out of ’foo-bar?

Package

smackjack.

Source

smackjack.lisp.

Function: process-push-poll (pusher arguments)

this is the default processor of the polling from the client.

Package

smackjack.

Source

pusher.lisp.

Function: ps-http-request ()

returns parenscript (client) code to set up ajax request.

Package

smackjack.

Source

smackjack.lisp.

Function: xml-wrapper (string)

wrapper for xml ajax response

Package

smackjack.

Source

smackjack.lisp.


6.2.2 Generic functions

Generic Function: ajax-function-name (processor ajax-fn)

returns a string for the remote function name before parenscript processing

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: ajax-function-name ((processor ajax-processor) (ajax-fn remote-function))
Generic Reader: ajax-functions (object)
Generic Writer: (setf ajax-functions) (object)
Package

smackjack.

Methods
Reader Method: ajax-functions ((ajax-processor ajax-processor))
Writer Method: (setf ajax-functions) ((ajax-processor ajax-processor))

Hashtable maps the symbol names of the remoted functions to their ajax-function object

Source

smackjack.lisp.

Target Slot

ajax-functions.

Generic Function: ajax-ps-function (processor ajax-fn)

returns parenscript code to define a function on the
client that will call the corresponding server-side lisp function via ajax.

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: ajax-ps-function ((processor ajax-processor) (ajax-fn ajax-function))
Generic Function: ajax-ps-parameters (processor ajax-fn)

returns a list of the arguments of the ajax-function ready for parenscript processing.

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: ajax-ps-parameters ((processor ajax-pusher) (ajax-fn ajax-function))

Overriding the default method for ajax-processor because that method would fail on the pusher-poll-function. First checks if the
lisp function is the name given for the ajax-pusher’s poll processing function. If so, returns nil to indicate no parameters. If not, then call the ajax-processor method.

Source

pusher.lisp.

Method: ajax-ps-parameters ((processor ajax-processor) (ajax-fn ajax-function))
Generic Function: ajax-response-process (ajax-fn)

returns the symbol of the parenscript function that will handle the ajax response of the ajax-function

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: ajax-response-process ((ajax-fn ajax-function))
Generic Function: call-lisp-function (processor ajax-function arguments)

This calls does the actual call of the ajax-lisp function.
Note: this is separate because it is overridden in the class ajax-pusher.

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: call-lisp-function ((processor ajax-pusher) (func ajax-function) arguments)

Overriding the default method for ajax-processor. First checks if the lisp function is the name given for the ajax-pusher’s poll processing function. If so, process push polls. If not, then call the ajax-processor method.

Source

pusher.lisp.

Method: call-lisp-function ((processor ajax-processor) (func ajax-function) arguments)
Generic Reader: callback-data (object)
Generic Writer: (setf callback-data) (object)
Package

smackjack.

Methods
Reader Method: callback-data ((ajax-function ajax-function))
Writer Method: (setf callback-data) ((ajax-function ajax-function))

argument passed to callback function from ajax response. Content-type should correspond.

Source

smackjack.lisp.

Target Slot

callback-data.

Generic Function: generate-prologue-javascript (processor)

generates a string of raw javascript code that needs to be
loaded on the client side for the ajax-processor to function correctly. This code can be embedded in a file, a virtual file, or generated html.

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: generate-prologue-javascript ((processor ajax-pusher))

returns javascript code for the entire pusher/ajax processor.
Calls the inherited method from ajax-processor and adds in code for the pusher.

Source

pusher.lisp.

Method: generate-prologue-javascript ((processor ajax-processor))
Generic Function: get-content-type (processor ajax-fn)

return the content type string for ajax-function response.

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: get-content-type ((processor ajax-processor) (ajax-fn ajax-function))
Generic Reader: http-method (object)
Generic Writer: (setf http-method) (object)
Package

smackjack.

Methods
Reader Method: http-method ((ajax-function ajax-function))
Writer Method: (setf http-method) ((ajax-function ajax-function))

http method of the lisp ajax function

Source

smackjack.lisp.

Target Slot

method.

Generic Reader: name (object)
Package

smackjack.

Methods
Reader Method: name ((remote-function remote-function))

symbol name of the lisp function

Source

smackjack.lisp.

Target Slot

name.

Generic Function: process-ajax-request (processor)

This should called on each ajax request. That is the
ajax uri is identified and dispatched by hunchentoot. See CREATE-AJAX-DISPATCHER. It parses the parameters from the http request, calls the lisp function and returns the response.

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: process-ajax-request ((processor ajax-processor))
Generic Function: ps-ajax-call (processor)

returns parenscript code to define a client-side function
for the ajax-processor that initiates an ajax call of a server-side lisp function

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: ps-ajax-call ((processor ajax-processor))
Generic Function: ps-ajax-response-processes (processor)

returns client parenscript code to define functions to handle the various types of ajax responses

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: ps-ajax-response-processes ((processor ajax-processor))
Generic Function: ps-encode-args (processor)

returns parenscript code to define a client-side function that encodes the arguments to be passed along with an ajax/http request.

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: ps-encode-args ((processor ajax-processor))
Generic Function: ps-fetch-uri (processor)

Return parenscript code to define client-side fetch-uri
which initiates ajax request and sets up callback/error treatment.

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: ps-fetch-uri ((processor ajax-processor))
Generic Function: ps-push-functions (pusher)

returns parenscript code to define all the push-functions on the client

Package

smackjack.

Source

pusher.lisp.

Methods
Method: ps-push-functions ((pusher ajax-pusher))
Generic Reader: push-default-sessions (object)
Generic Writer: (setf push-default-sessions) (object)
Package

smackjack.

Methods
Reader Method: push-default-sessions ((push-function push-function))
Writer Method: (setf push-default-sessions) ((push-function push-function))

If a push function is called and the hunchentoot
sessions are not specified, this will determine which in sessions the push call happens on the client side.

Source

pusher.lisp.

Target Slot

default-sessions.

Generic Function: push-function (pusher function-name arguments &optional sessions)

This function is called when you want to push a function
call to the client(s) as specified in the parameter sessions. Note: the programmer should not call this directly.

Package

smackjack.

Source

pusher.lisp.

Methods
Method: push-function ((pusher ajax-pusher) function-name arguments &optional sessions)
Generic Function: push-function-sessions (push-function)

Returns a list of Hunchentoot sessions for a push-function based on the slot default-sessions

Package

smackjack.

Source

pusher.lisp.

Methods
Method: push-function-sessions ((push-function push-function))
Generic Reader: push-ps-code (object)
Generic Writer: (setf push-ps-code) (object)
Package

smackjack.

Methods
Reader Method: push-ps-code ((push-function push-function))
Writer Method: (setf push-ps-code) ((push-function push-function))

parenscript code to be compiled and sent to the browser on page load

Source

pusher.lisp.

Target Slot

ps-code.

Generic Function: push-ps-function (pusher push-function)

returns parenscript code for the push-function to be defined on the client

Package

smackjack.

Source

pusher.lisp.

Methods
Method: push-ps-function ((pusher ajax-pusher) (push-function push-function))
Generic Reader: pusher-push-functions (object)
Generic Writer: (setf pusher-push-functions) (object)
Package

smackjack.

Methods
Reader Method: pusher-push-functions ((ajax-pusher ajax-pusher))
Writer Method: (setf pusher-push-functions) ((ajax-pusher ajax-pusher))

Maps the symbol names of the remoted functions to their ajax-function object

Source

pusher.lisp.

Target Slot

push-functions.

Generic Reader: pusher-session-queue-name (object)
Generic Writer: (setf pusher-session-queue-name) (object)
Package

smackjack.

Methods
Reader Method: pusher-session-queue-name ((ajax-pusher ajax-pusher))
Writer Method: (setf pusher-session-queue-name) ((ajax-pusher ajax-pusher))

pretty sure this is not used.

Source

pusher.lisp.

Target Slot

session-queue-name.

Generic Function: pushify-function (pusher function-name ps-code &key remote-name default-sessions)

Function to create a push-function and store it in the pusher object.

Package

smackjack.

Source

pusher.lisp.

Methods
Method: pushify-function ((pusher ajax-pusher) function-name ps-code &key remote-name default-sessions)
Generic Reader: remote-name (object)
Generic Writer: (setf remote-name) (object)
Package

smackjack.

Methods
Reader Method: remote-name ((remote-function remote-function))
Writer Method: (setf remote-name) ((remote-function remote-function))

remote name of the function

Source

smackjack.lisp.

Target Slot

remote-name.

Generic Function: remotify-function (processor function-name &key method remote-name content-type callback-data)

Creates a remote ajax-function identified by its symbol and symbol-name and attaches it to the ajax-processor

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: remotify-function ((processor ajax-processor) function-name &key method remote-name content-type callback-data)
Generic Function: un-remotify-function (processor function-name)

remove a remote function identified by its symbol or name from the ajax-processor

Package

smackjack.

Source

smackjack.lisp.

Methods
Method: un-remotify-function ((processor ajax-processor) symbol-or-name)

6.2.3 Classes

Class: ajax-function

Class for browser functions that call a server-side lisp function using ajax

Package

smackjack.

Source

smackjack.lisp.

Direct superclasses

remote-function.

Direct methods
Direct slots
Slot: method

http method of the lisp ajax function

Package

common-lisp.

Type

(quote (member :post :get))

Initform

:get

Initargs

:method

Readers

http-method.

Writers

(setf http-method).

Slot: callback-data

argument passed to callback function from ajax response. Content-type should correspond.

Type

(quote (member :request-object :response-xml :response-text :response-xml-text :json))

Initform

:response-xml

Initargs

:callback-data

Readers

callback-data.

Writers

(setf callback-data).

Slot: content-type

The http content type that is sent with each response

Package

hunchentoot.

Type

(or null string)

Initform

"text/xml;"

Initargs

:content-type

Readers

content-type.

Writers

(setf content-type).

Class: push-function

This class represents functions that are pushed to the client.

Package

smackjack.

Source

pusher.lisp.

Direct superclasses

remote-function.

Direct methods
Direct slots
Slot: ps-code

parenscript code to be compiled and sent to the browser on page load

Type

list

Initargs

:ps-code

Readers

push-ps-code.

Writers

(setf push-ps-code).

Slot: default-sessions

If a push function is called and the hunchentoot
sessions are not specified, this will determine which in sessions the push call happens on the client side.

Type

(quote (member :current-session :acceptor-sessions :acceptor-sessions-except-current))

Initform

:acceptor-sessions

Initargs

:default-sessions

Readers

push-default-sessions.

Writers

(setf push-default-sessions).

Class: remote-function

Base class for remote functions between server and browser

Package

smackjack.

Source

smackjack.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name

symbol name of the lisp function

Type

symbol

Initargs

:name

Readers

name.

Writers

This slot is read-only.

Slot: remote-name

remote name of the function

Type

symbol

Initargs

:remote-name

Readers

remote-name.

Writers

(setf remote-name).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   C   D   E   F   G   H   I   J   M   N   P   R   S   U   X  
Index Entry  Section

(
(setf ajax-function-prefix): Public generic functions
(setf ajax-function-prefix): Public generic functions
(setf ajax-functions): Private generic functions
(setf ajax-functions): Private generic functions
(setf ajax-functions-namespace-p): Public generic functions
(setf ajax-functions-namespace-p): Public generic functions
(setf ajax-namespace): Public generic functions
(setf ajax-namespace): Public generic functions
(setf callback-data): Private generic functions
(setf callback-data): Private generic functions
(setf content-type): Public standalone methods
(setf default-content-type): Public generic functions
(setf default-content-type): Public generic functions
(setf ht-simple-ajax-symbols-p): Public generic functions
(setf ht-simple-ajax-symbols-p): Public generic functions
(setf http-method): Private generic functions
(setf http-method): Private generic functions
(setf json-args-p): Public generic functions
(setf json-args-p): Public generic functions
(setf push-default-sessions): Private generic functions
(setf push-default-sessions): Private generic functions
(setf push-ps-code): Private generic functions
(setf push-ps-code): Private generic functions
(setf pusher-poll-function-name): Public generic functions
(setf pusher-poll-function-name): Public generic functions
(setf pusher-poll-function-name): Public generic functions
(setf pusher-poll-function-name): Public generic functions
(setf pusher-poll-interval): Public generic functions
(setf pusher-poll-interval): Public generic functions
(setf pusher-poll-namespace): Public generic functions
(setf pusher-poll-namespace): Public generic functions
(setf pusher-push-functions): Private generic functions
(setf pusher-push-functions): Private generic functions
(setf pusher-pushes-per-poll): Public generic functions
(setf pusher-pushes-per-poll): Public generic functions
(setf pusher-session-queue-name): Private generic functions
(setf pusher-session-queue-name): Private generic functions
(setf remote-name): Private generic functions
(setf remote-name): Private generic functions
(setf reply-external-format): Public standalone methods
(setf server-uri): Public generic functions
(setf server-uri): Public generic functions

A
ajax-function-name: Private generic functions
ajax-function-name: Private generic functions
ajax-function-prefix: Public generic functions
ajax-function-prefix: Public generic functions
ajax-functions: Private generic functions
ajax-functions: Private generic functions
ajax-functions-namespace-p: Public generic functions
ajax-functions-namespace-p: Public generic functions
ajax-namespace: Public generic functions
ajax-namespace: Public generic functions
ajax-ps-function: Private generic functions
ajax-ps-function: Private generic functions
ajax-ps-parameters: Private generic functions
ajax-ps-parameters: Private generic functions
ajax-ps-parameters: Private generic functions
ajax-response-process: Private generic functions
ajax-response-process: Private generic functions
arglist: Private ordinary functions

C
call-lisp-function: Private generic functions
call-lisp-function: Private generic functions
call-lisp-function: Private generic functions
callback-data: Private generic functions
callback-data: Private generic functions
content-type: Public standalone methods
create-ajax-dispatcher: Public generic functions
create-ajax-dispatcher: Public generic functions

D
default-content-type: Public generic functions
default-content-type: Public generic functions
defun-ajax: Public macros
defun-push: Public macros

E
escape-string: Private ordinary functions

F
Function, arglist: Private ordinary functions
Function, escape-string: Private ordinary functions
Function, html-script-cdata: Private ordinary functions
Function, make-simple-js-symbol: Private ordinary functions
Function, process-push-poll: Private ordinary functions
Function, ps-http-request: Private ordinary functions
Function, xml-wrapper: Private ordinary functions

G
generate-prologue: Public generic functions
generate-prologue: Public generic functions
generate-prologue-javascript: Private generic functions
generate-prologue-javascript: Private generic functions
generate-prologue-javascript: Private generic functions
Generic Function, (setf ajax-function-prefix): Public generic functions
Generic Function, (setf ajax-functions): Private generic functions
Generic Function, (setf ajax-functions-namespace-p): Public generic functions
Generic Function, (setf ajax-namespace): Public generic functions
Generic Function, (setf callback-data): Private generic functions
Generic Function, (setf default-content-type): Public generic functions
Generic Function, (setf ht-simple-ajax-symbols-p): Public generic functions
Generic Function, (setf http-method): Private generic functions
Generic Function, (setf json-args-p): Public generic functions
Generic Function, (setf push-default-sessions): Private generic functions
Generic Function, (setf push-ps-code): Private generic functions
Generic Function, (setf pusher-poll-function-name): Public generic functions
Generic Function, (setf pusher-poll-interval): Public generic functions
Generic Function, (setf pusher-poll-namespace): Public generic functions
Generic Function, (setf pusher-push-functions): Private generic functions
Generic Function, (setf pusher-pushes-per-poll): Public generic functions
Generic Function, (setf pusher-session-queue-name): Private generic functions
Generic Function, (setf remote-name): Private generic functions
Generic Function, (setf server-uri): Public generic functions
Generic Function, ajax-function-name: Private generic functions
Generic Function, ajax-function-prefix: Public generic functions
Generic Function, ajax-functions: Private generic functions
Generic Function, ajax-functions-namespace-p: Public generic functions
Generic Function, ajax-namespace: Public generic functions
Generic Function, ajax-ps-function: Private generic functions
Generic Function, ajax-ps-parameters: Private generic functions
Generic Function, ajax-response-process: Private generic functions
Generic Function, call-lisp-function: Private generic functions
Generic Function, callback-data: Private generic functions
Generic Function, create-ajax-dispatcher: Public generic functions
Generic Function, default-content-type: Public generic functions
Generic Function, generate-prologue: Public generic functions
Generic Function, generate-prologue-javascript: Private generic functions
Generic Function, get-content-type: Private generic functions
Generic Function, ht-simple-ajax-symbols-p: Public generic functions
Generic Function, http-method: Private generic functions
Generic Function, json-args-p: Public generic functions
Generic Function, name: Private generic functions
Generic Function, process-ajax-request: Private generic functions
Generic Function, ps-ajax-call: Private generic functions
Generic Function, ps-ajax-response-processes: Private generic functions
Generic Function, ps-encode-args: Private generic functions
Generic Function, ps-fetch-uri: Private generic functions
Generic Function, ps-push-functions: Private generic functions
Generic Function, push-default-sessions: Private generic functions
Generic Function, push-function: Private generic functions
Generic Function, push-function-sessions: Private generic functions
Generic Function, push-ps-code: Private generic functions
Generic Function, push-ps-function: Private generic functions
Generic Function, pusher-poll-function-name: Public generic functions
Generic Function, pusher-poll-interval: Public generic functions
Generic Function, pusher-poll-namespace: Public generic functions
Generic Function, pusher-push-functions: Private generic functions
Generic Function, pusher-pushes-per-poll: Public generic functions
Generic Function, pusher-session-queue-name: Private generic functions
Generic Function, pushify-function: Private generic functions
Generic Function, remote-name: Private generic functions
Generic Function, remotify-function: Private generic functions
Generic Function, server-uri: Public generic functions
Generic Function, un-remotify-function: Private generic functions
get-content-type: Private generic functions
get-content-type: Private generic functions

H
ht-simple-ajax-symbols-p: Public generic functions
ht-simple-ajax-symbols-p: Public generic functions
html-script-cdata: Private ordinary functions
http-method: Private generic functions
http-method: Private generic functions

I
initialize-instance: Public standalone methods

J
json-args-p: Public generic functions
json-args-p: Public generic functions

M
Macro, defun-ajax: Public macros
Macro, defun-push: Public macros
make-simple-js-symbol: Private ordinary functions
Method, (setf ajax-function-prefix): Public generic functions
Method, (setf ajax-functions): Private generic functions
Method, (setf ajax-functions-namespace-p): Public generic functions
Method, (setf ajax-namespace): Public generic functions
Method, (setf callback-data): Private generic functions
Method, (setf content-type): Public standalone methods
Method, (setf default-content-type): Public generic functions
Method, (setf ht-simple-ajax-symbols-p): Public generic functions
Method, (setf http-method): Private generic functions
Method, (setf json-args-p): Public generic functions
Method, (setf push-default-sessions): Private generic functions
Method, (setf push-ps-code): Private generic functions
Method, (setf pusher-poll-function-name): Public generic functions
Method, (setf pusher-poll-function-name): Public generic functions
Method, (setf pusher-poll-function-name): Public generic functions
Method, (setf pusher-poll-interval): Public generic functions
Method, (setf pusher-poll-namespace): Public generic functions
Method, (setf pusher-push-functions): Private generic functions
Method, (setf pusher-pushes-per-poll): Public generic functions
Method, (setf pusher-session-queue-name): Private generic functions
Method, (setf remote-name): Private generic functions
Method, (setf reply-external-format): Public standalone methods
Method, (setf server-uri): Public generic functions
Method, ajax-function-name: Private generic functions
Method, ajax-function-prefix: Public generic functions
Method, ajax-functions: Private generic functions
Method, ajax-functions-namespace-p: Public generic functions
Method, ajax-namespace: Public generic functions
Method, ajax-ps-function: Private generic functions
Method, ajax-ps-parameters: Private generic functions
Method, ajax-ps-parameters: Private generic functions
Method, ajax-response-process: Private generic functions
Method, call-lisp-function: Private generic functions
Method, call-lisp-function: Private generic functions
Method, callback-data: Private generic functions
Method, content-type: Public standalone methods
Method, create-ajax-dispatcher: Public generic functions
Method, default-content-type: Public generic functions
Method, generate-prologue: Public generic functions
Method, generate-prologue-javascript: Private generic functions
Method, generate-prologue-javascript: Private generic functions
Method, get-content-type: Private generic functions
Method, ht-simple-ajax-symbols-p: Public generic functions
Method, http-method: Private generic functions
Method, initialize-instance: Public standalone methods
Method, json-args-p: Public generic functions
Method, name: Private generic functions
Method, process-ajax-request: Private generic functions
Method, ps-ajax-call: Private generic functions
Method, ps-ajax-response-processes: Private generic functions
Method, ps-encode-args: Private generic functions
Method, ps-fetch-uri: Private generic functions
Method, ps-push-functions: Private generic functions
Method, push-default-sessions: Private generic functions
Method, push-function: Private generic functions
Method, push-function-sessions: Private generic functions
Method, push-ps-code: Private generic functions
Method, push-ps-function: Private generic functions
Method, pusher-poll-function-name: Public generic functions
Method, pusher-poll-interval: Public generic functions
Method, pusher-poll-namespace: Public generic functions
Method, pusher-push-functions: Private generic functions
Method, pusher-pushes-per-poll: Public generic functions
Method, pusher-session-queue-name: Private generic functions
Method, pushify-function: Private generic functions
Method, remote-name: Private generic functions
Method, remotify-function: Private generic functions
Method, reply-external-format: Public standalone methods
Method, server-uri: Public generic functions
Method, un-remotify-function: Private generic functions

N
name: Private generic functions
name: Private generic functions

P
process-ajax-request: Private generic functions
process-ajax-request: Private generic functions
process-push-poll: Private ordinary functions
ps-ajax-call: Private generic functions
ps-ajax-call: Private generic functions
ps-ajax-response-processes: Private generic functions
ps-ajax-response-processes: Private generic functions
ps-encode-args: Private generic functions
ps-encode-args: Private generic functions
ps-fetch-uri: Private generic functions
ps-fetch-uri: Private generic functions
ps-http-request: Private ordinary functions
ps-push-functions: Private generic functions
ps-push-functions: Private generic functions
push-default-sessions: Private generic functions
push-default-sessions: Private generic functions
push-function: Private generic functions
push-function: Private generic functions
push-function-sessions: Private generic functions
push-function-sessions: Private generic functions
push-ps-code: Private generic functions
push-ps-code: Private generic functions
push-ps-function: Private generic functions
push-ps-function: Private generic functions
pusher-poll-function-name: Public generic functions
pusher-poll-function-name: Public generic functions
pusher-poll-interval: Public generic functions
pusher-poll-interval: Public generic functions
pusher-poll-namespace: Public generic functions
pusher-poll-namespace: Public generic functions
pusher-push-functions: Private generic functions
pusher-push-functions: Private generic functions
pusher-pushes-per-poll: Public generic functions
pusher-pushes-per-poll: Public generic functions
pusher-session-queue-name: Private generic functions
pusher-session-queue-name: Private generic functions
pushify-function: Private generic functions
pushify-function: Private generic functions

R
remote-name: Private generic functions
remote-name: Private generic functions
remotify-function: Private generic functions
remotify-function: Private generic functions
reply-external-format: Public standalone methods

S
server-uri: Public generic functions
server-uri: Public generic functions

U
un-remotify-function: Private generic functions
un-remotify-function: Private generic functions

X
xml-wrapper: Private ordinary functions


A.3 Variables

Jump to:   A   C   D   H   J   M   N   P   R   S  
Index Entry  Section

A
ajax-function-prefix: Public classes
ajax-function-prefixn: Public classes
ajax-functions: Public classes
ajax-functions-namespace-p: Public classes
ajax-functions-namespace-p: Public classes
ajax-namespace: Public classes
ajax-namespace: Public classes

C
callback-data: Private classes
content-type: Private classes

D
default-content-type: Public classes
default-sessions: Private classes

H
ht-simple-ajax-symbols-p: Public classes
ht-simple-ajax-symbols-p: Public classes

J
json-args-p: Public classes
json-args-p: Public classes

M
method: Private classes

N
name: Private classes

P
poll-function-name: Public classes
poll-interval: Public classes
poll-namespace: Public classes
ps-code: Private classes
push-functions: Public classes
pushes-per-poll: Public classes

R
remote-name: Private classes
reply-external-format: Public classes

S
server-uri: Public classes
session-queue-name: Public classes
Slot, ajax-function-prefix: Public classes
Slot, ajax-function-prefixn: Public classes
Slot, ajax-functions: Public classes
Slot, ajax-functions-namespace-p: Public classes
Slot, ajax-functions-namespace-p: Public classes
Slot, ajax-namespace: Public classes
Slot, ajax-namespace: Public classes
Slot, callback-data: Private classes
Slot, content-type: Private classes
Slot, default-content-type: Public classes
Slot, default-sessions: Private classes
Slot, ht-simple-ajax-symbols-p: Public classes
Slot, ht-simple-ajax-symbols-p: Public classes
Slot, json-args-p: Public classes
Slot, json-args-p: Public classes
Slot, method: Private classes
Slot, name: Private classes
Slot, poll-function-name: Public classes
Slot, poll-interval: Public classes
Slot, poll-namespace: Public classes
Slot, ps-code: Private classes
Slot, push-functions: Public classes
Slot, pushes-per-poll: Public classes
Slot, remote-name: Private classes
Slot, reply-external-format: Public classes
Slot, server-uri: Public classes
Slot, session-queue-name: Public classes