The architecture.service-provider Reference Manual

This is the architecture.service-provider Reference Manual, version 0.6.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 03:18:57 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 architecture.service-provider

Provides a framework for registering and finding services and providers of these.

Maintainer

Jan Moringen <>

Author

Jan Moringen <>

License

LLGPLv3

Version

0.6.0

Dependencies
  • alexandria (system).
  • let-plus (system)., at least version "0.2"
  • more-conditions (system)., at least version "0.3"
  • utilities.print-items (system)., at least version "0.1"
Source

architecture.service-provider.asd.

Child Component

src (module).


3 Modules

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


3.1 architecture.service-provider/src

Source

architecture.service-provider.asd.

Parent Component

architecture.service-provider (system).

Child Components

4 Files

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


4.1 Lisp


4.1.1 architecture.service-provider/architecture.service-provider.asd

Source

architecture.service-provider.asd.

Parent Component

architecture.service-provider (system).

ASDF Systems

architecture.service-provider.


4.1.2 architecture.service-provider/src/package.lisp

Source

architecture.service-provider.asd.

Parent Component

src (module).

Packages

service-provider.


4.1.3 architecture.service-provider/src/types.lisp

Dependency

package.lisp (file).

Source

architecture.service-provider.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.4 architecture.service-provider/src/variables.lisp

Dependency

types.lisp (file).

Source

architecture.service-provider.asd.

Parent Component

src (module).

Internals

*services* (special variable).


4.1.5 architecture.service-provider/src/conditions.lisp

Dependency

variables.lisp (file).

Source

architecture.service-provider.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.6 architecture.service-provider/src/protocol.lisp

Dependency

conditions.lisp (file).

Source

architecture.service-provider.asd.

Parent Component

src (module).

Public Interface
Internals

make-provider-form (generic function).


4.1.7 architecture.service-provider/src/mixins.lisp

Dependency

protocol.lisp (file).

Source

architecture.service-provider.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.8 architecture.service-provider/src/service.lisp

Dependency

mixins.lisp (file).

Source

architecture.service-provider.asd.

Parent Component

src (module).

Public Interface

4.1.9 architecture.service-provider/src/provider.lisp

Dependency

service.lisp (file).

Source

architecture.service-provider.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.10 architecture.service-provider/src/macros.lisp

Dependency

provider.lisp (file).

Source

architecture.service-provider.asd.

Parent Component

src (module).

Public Interface
Internals

define-register-function (macro).


4.1.11 architecture.service-provider/src/compilation.lisp

Dependency

macros.lisp (file).

Source

architecture.service-provider.asd.

Parent Component

src (module).

Public Interface
Internals

check-service-and-provider (function).


5 Packages

Packages are listed by definition order.


5.1 service-provider

This package contains functions and classes for defining, using and introspecting services and providers thereof.

For services, the most important functions and macros are ‘find-service’ and ‘define-service’.

For providers, the most important functions and macros are ‘find-provider’, ‘make-provider’, ‘register-provider/class’ and ‘register-provider/funtion’.

Source

package.lisp.

Use List
  • alexandria.
  • common-lisp.
  • let-plus.
  • more-conditions.
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: define-service (name &body options)

Define a service named NAME with additional aspects specified in OPTIONS.

The following OPTIONS are accepted:

(:service-class CLASS-NAME)

Name of the class of the to-be-defined service. Defaults to ‘standard-service’.

(:documentation STRING)

If NAME already designates a service, the existing service object is destructively modified according to OPTIONS.

The service definition is performed at compile, load and execute time to ensure availability in subsequent provider definitions and/or compilation of e.g. ‘find-service’ calls.

Package

service-provider.

Source

macros.lisp.


6.1.2 Compiler macros

Compiler Macro: add-provider (service name provider)
Package

service-provider.

Source

compilation.lisp.

Compiler Macro: find-provider (service provider &key if-does-not-exist)
Package

service-provider.

Source

compilation.lisp.

Compiler Macro: (setf find-provider) (service provider &key if-does-not-exist)
Package

service-provider.

Source

compilation.lisp.

Compiler Macro: make-provider (service provider &rest args)
Package

service-provider.

Source

compilation.lisp.

Compiler Macro: register-provider (service-name provider-name provider-class &rest initargs)
Package

service-provider.

Source

compilation.lisp.

Compiler Macro: register-provider/class (service-name provider-name &key &allow-other-keys)
Package

service-provider.

Source

compilation.lisp.

Compiler Macro: register-provider/function (service-name provider-name &key &allow-other-keys)
Package

service-provider.

Source

compilation.lisp.

Compiler Macro: remove-provider (service name provider)
Package

service-provider.

Source

compilation.lisp.

Compiler Macro: update-provider (service name provider)
Package

service-provider.

Source

compilation.lisp.


6.1.3 Ordinary functions

Function: register-provider (service-name provider-name provider-class &rest initargs)

Register a provider of SERVICE-NAME according to PROVIDER-NAME, PROVIDER-CLASS and INITARGS.

If PROVIDER-NAME does not name an existing provider of the service designated by SERVICE-NAME, an instance of PROVIDER-CLASS is made with INITARGS and registered.

If PROVIDER-NAME names an existing provider of the service designated by SERVICE-NAME, the provider is updated via re-initialization, potentially changing its class to PROVIDER-CLASS.

The new or updated provider instance is returned.

Package

service-provider.

Source

macros.lisp.

Function: register-provider/class (service-name provider-name &rest args &key provider-class class &allow-other-keys)

Register CLASS as the provider named PROVIDER-NAME of the service designated by SERVICE-NAME.

PROVIDER-CLASS can be used to select the class of which the created provider should be an instance.

The ‘cl:documentation’ of CLASS is used as the documentation of the provider.

Package

service-provider.

Source

macros.lisp.

Function: register-provider/function (service-name provider-name &rest args &key provider-class function &allow-other-keys)

Register FUNCTION as the provider named PROVIDER-NAME of the service designated by SERVICE-NAME.

PROVIDER-CLASS can be used to select the class of which the created provider should be an instance.

The ‘cl:documentation’ of FUNCTION is used as the documentation of the provider.

Package

service-provider.

Source

macros.lisp.

Function: register-service (name service-class &rest initargs)

Register a service named NAME according to SERVICE-CLASS and INITARGS.

If NAME does not name an existing service, an instance of SERVICE-CLASS is made with INITARGS and registered.

If NAME names an existing service, the service is updated via re-initialization, potentially changing its class to SERVICE-CLASS.

The new or updated service instance is returned.

Package

service-provider.

Source

macros.lisp.


6.1.4 Generic functions

Generic Function: add-provider (service name provider)

Add PROVIDER to SERVICE as the provider designated by NAME.

Package

service-provider.

Source

protocol.lisp.

Methods
Method: add-provider ((service provider-list-mixin) name provider)
Source

mixins.lisp.

Generic Function: find-provider (service provider &key if-does-not-exist)

Find and return the provider designated by the ‘provider-designator’ PROVIDER in the service designated by the ‘service-designator’ SERVICE.

IF-DOES-NOT-EXIST controls the behavior in case SERVICE or PROVIDER cannot be found:

The values #’error and ’error cause a ‘missing-service-error’ to be signaled if SERVICE cannot be found and a ‘missing-provider-error’ to be signaled if PROVIDER cannot be found.

The values #’warn and ’warn cause a ‘missing-service-warning’ to be signaled if SERVICE cannot be found and a ‘missing-provider-warning’ to be signaled if PROVIDER cannot be found. In both cases, nil is returned.

The value nil causes nil to be returned without any conditions being signaled.

‘retry’ and ‘use-value’ restarts are established around error signaling (if IF-DOES-NOT-EXIST mandates that).

Package

service-provider.

Source

protocol.lisp.

Methods
Method: find-provider ((service provider-list-mixin) (provider cons) &key if-does-not-exist)
Source

mixins.lisp.

Method: find-provider ((service provider-list-mixin) (provider symbol) &key if-does-not-exist)
Source

mixins.lisp.

Method: find-provider ((service symbol) provider &key if-does-not-exist)
Method: find-provider :around (service provider &key if-does-not-exist)
Generic Function: (setf find-provider) (service provider &key if-does-not-exist)

Set the provider designated by the ‘provider-designator’ PROVIDER in the service designated by the ‘service-designator’ SERVICE to NEW-VALUE. When non-nil, NEW-VALUE has to implement the provider protocol.

If SERVICE and PROVIDER already designate a provider, the existing provider object is replaced with NEW-VALUE.

If NEW-VALUE is nil, an existing provider designated by SERVICE and PROVIDER is removed.

IF-DOES-NOT-EXIST is accepted for parity with ‘find-provider’ and usually ignored. However, when NEW-VALUE is nil, IF-DOES-NOT-EXIST controls whether an error should be signaled in case the to-be-removed provider does not exist.

Package

service-provider.

Source

protocol.lisp.

Methods
Method: (setf find-provider) ((service provider-list-mixin) (provider cons) &key if-does-not-exist)
Source

mixins.lisp.

Method: (setf find-provider) ((service provider-list-mixin) (provider symbol) &key if-does-not-exist)
Source

mixins.lisp.

Method: (setf find-provider) ((service provider-list-mixin) (provider cons) &key if-does-not-exist)
Source

mixins.lisp.

Method: (setf find-provider) ((service provider-list-mixin) (provider symbol) &key if-does-not-exist)
Source

mixins.lisp.

Method: (setf find-provider) ((service symbol) provider &key if-does-not-exist)
Generic Function: find-service (name &key if-does-not-exist)

Find and return the service designated by the ‘service-designator’ NAME.

IF-DOES-NOT-EXIST controls the behavior in case the designated service cannot be found:

The values #’error and ’error cause a ‘missing-service-error’ to be signaled.

The values #’warn and ’warn cause a ‘missing-service-warning’ to be signaled and nil to be returned.

The value nil causes nil to be returned without any conditions being signaled.

‘retry’ and ‘use-value’ restarts are established around error signaling (if IF-DOES-NOT-EXIST mandates that).

Package

service-provider.

Source

protocol.lisp.

Methods
Method: find-service ((name symbol) &key if-does-not-exist)
Generic Function: (setf find-service) (name &key if-does-not-exist)

Set the service designated by the ‘service-designator’ NAME to NEW-VALUE. When non-nil, NEW-VALUE has to implement the service protocol.

If NAME already designates a service, the existing service object is replaced with NEW-VALUE.

If NEW-VALUE is nil, an existing service designated by NAME is removed.

IF-DOES-NOT-EXIST is accepted for parity with ‘find-service’ and usually ignored. However, when NEW-VALUE is nil, IF-DOES-NOT-EXIST controls whether an error should be signaled in case the to-be-removed service does not exist.

Package

service-provider.

Source

protocol.lisp.

Methods
Method: (setf find-service) ((name symbol) &key if-does-not-exist)
Method: (setf find-service) ((name symbol) &key if-does-not-exist)
Generic Function: make-provider (service provider &rest args)

Make and return an instance of the provider designated by the ‘provider-designator’ PROVIDER of the service designated by the ‘service-designator’ SERVICE.

Package

service-provider.

Source

protocol.lisp.

Methods
Method: make-provider (service (provider function-provider) &rest args)
Source

provider.lisp.

Method: make-provider (service (provider class-provider) &rest args)
Source

provider.lisp.

Method: make-provider (service provider &rest args)
Method: make-provider ((service symbol) provider &rest args)
Generic Reader: missing-provider-designator (condition)
Package

service-provider.

Methods
Reader Method: missing-provider-designator ((condition missing-provider-condition))
Source

conditions.lisp.

Target Slot

designator.

Generic Reader: missing-provider-service (condition)
Package

service-provider.

Methods
Reader Method: missing-provider-service ((condition missing-provider-condition))
Source

conditions.lisp.

Target Slot

service.

Generic Reader: missing-service-designator (condition)
Package

service-provider.

Methods
Reader Method: missing-service-designator ((condition missing-service-condition))
Source

conditions.lisp.

Target Slot

designator.

Generic Reader: provider-class (object)
Package

service-provider.

Methods
Reader Method: provider-class ((class-provider class-provider))

Stores the class providing the service.

Source

provider.lisp.

Target Slot

class.

Generic Reader: provider-function (object)
Package

service-provider.

Methods
Reader Method: provider-function ((function-provider function-provider))

Stores the function providing the service.

Source

provider.lisp.

Target Slot

function.

Generic Reader: provider-name (provider)

Return the symbol which is the name of PROVIDER.

Package

service-provider.

Source

protocol.lisp.

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

automatically generated reader method

Source

provider.lisp.

Target Slot

name.

Reader Method: provider-name ((class-provider class-provider))

automatically generated reader method

Source

provider.lisp.

Target Slot

name.

Generic Function: remove-provider (service name provider)

Remove PROVIDER from SERVICE as the provider designated by NAME.

Package

service-provider.

Source

protocol.lisp.

Methods
Method: remove-provider ((service provider-list-mixin) name provider)
Source

mixins.lisp.

Generic Function: service-name (service)

Return the symbol which is the name of SERVICE.

Package

service-provider.

Source

protocol.lisp.

Methods
Reader Method: service-name ((standard-service standard-service))

automatically generated reader method

Source

service.lisp.

Target Slot

name.

Method: service-name ((service symbol))
Generic Function: service-providers (service)

Return a sequence of the providers of SERVICE.

Package

service-provider.

Source

protocol.lisp.

Methods
Method: service-providers ((service provider-list-mixin))
Source

mixins.lisp.

Method: service-providers ((service symbol))
Generic Function: service-providers/alist (service)

Return the providers of SERVICE as an alist in which CARs are provider names and CDRs are the corresponding provider objects.

Package

service-provider.

Source

protocol.lisp.

Methods
Method: service-providers/alist ((service provider-list-mixin))
Source

mixins.lisp.

Method: service-providers/alist ((service symbol))
Generic Function: service-providers/plist (service)

Return the providers of SERVICE as a plist in which keys are provider names and values are the corresponding provider objects.

Package

service-provider.

Source

protocol.lisp.

Methods
Method: service-providers/plist ((service provider-list-mixin))
Source

mixins.lisp.

Method: service-providers/plist ((service symbol))
Generic Function: update-provider (service name provider)

Update the provider designated by NAME in SERVICE with the new value PROVIDER.

Package

service-provider.

Source

protocol.lisp.

Methods
Method: update-provider ((service provider-list-mixin) name provider)
Source

mixins.lisp.


6.1.5 Standalone methods

Method: describe-object ((object standard-service) stream)
Source

service.lisp.

Method: documentation ((slotd class-provider) (doc-type (eql t)))
Source

provider.lisp.

Method: documentation ((slotd standard-service) (doc-type (eql t)))
Source

service.lisp.

Method: documentation ((slotd function-provider) (doc-type (eql t)))
Source

provider.lisp.

Method: print-items append ((object class-provider))
Package

utilities.print-items.

Source

provider.lisp.

Method: print-items append ((object standard-service))
Package

utilities.print-items.

Source

service.lisp.

Method: print-items append ((object function-provider))
Package

utilities.print-items.

Source

provider.lisp.

Method: shared-initialize :after ((instance class-provider) slot-names &key class allow-forward-reference)
Source

provider.lisp.

Method: shared-initialize :after ((instance function-provider) slot-names &key function)
Source

provider.lisp.


6.1.6 Conditions

Condition: missing-provider-error

This error is signaled when a provider of a certain service is specified as a designator but cannot be found.

Package

service-provider.

Source

conditions.lisp.

Direct superclasses
Condition: missing-provider-warning

This warning is signaled when a provider of a certain service is specified as a designator but cannot be found.

Package

service-provider.

Source

conditions.lisp.

Direct superclasses
Condition: missing-service-error

Subclasses of this are signaled when services specified by designators cannot be found.

Package

service-provider.

Source

conditions.lisp.

Direct superclasses
Condition: missing-service-warning

This warning is signaled when a service specified by a designator cannot be found.

Package

service-provider.

Source

conditions.lisp.

Direct superclasses
Condition: service-provider-condition

Superclass of all conditions signaled by the service-provider system.

Package

service-provider.

Source

conditions.lisp.

Direct superclasses

condition.

Direct subclasses

6.1.7 Classes

Class: class-provider

Instances of this class provide a particular service by instantiating a given class.

Package

service-provider.

Source

provider.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:class(missing-required-initarg (quote class-provider) class)
Direct slots
Slot: name
Readers

provider-name.

Writers

This slot is read-only.

Slot: class

Stores the class providing the service.

Package

common-lisp.

Type

class

Readers

provider-class.

Writers

This slot is read-only.

Class: function-provider

Instances of this class provide a particular service by calling a given function and returning the result.

Package

service-provider.

Source

provider.lisp.

Direct superclasses
Direct methods
Direct Default Initargs
InitargValue
:function(missing-required-initarg (quote function-provider) function)
Direct slots
Slot: name
Readers

provider-name.

Writers

This slot is read-only.

Slot: function

Stores the function providing the service.

Package

common-lisp.

Type

(or symbol function)

Readers

provider-function.

Writers

This slot is read-only.

Class: standard-service

This class provides a basic implementation of the service protocol. It can be used as a superclass for specialized service classes.

Package

service-provider.

Source

service.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: name
Readers

service-name.

Writers

This slot is read-only.


6.1.8 Types

Type: provider-designator ()

A symbol designating a service provider or a service provider.

Package

service-provider.

Source

types.lisp.

Type: service-designator ()

A symbol designating a service or a service.

Package

service-provider.

Source

types.lisp.


6.2 Internals


6.2.1 Special variables

Special Variable: *services*

Stores a mapping of service names to service objects.

Package

service-provider.

Source

variables.lisp.


6.2.2 Macros

Macro: define-register-function (name args &key required-initargs default-provider-class documentation)

Define a function named NAME with a lambda-list of the form

(SERVICE-NAME PROVIDER-NAME . KEYWORD-PARAMETERS)

which registers service providers for the given service + provider combinations. ARGS has to be a list of elements the form

(NAME DEFAULT)

. As part of KEYWORD-PARAMETERS, the defined function accepts a :provider-class keyword parameter which defaults to DEFAULT-PROVIDER-CLASS. When instantiated, the provider class will receive as initargs REQUIRED-INITARGS, .

If supplied, DOCUMENTATION will be used as the documentation string of the defined function.

Package

service-provider.

Source

macros.lisp.


6.2.3 Ordinary functions

Function: %add-or-update-provider (service name provider)
Package

service-provider.

Source

mixins.lisp.

Function: %provider-print-items (name object-name)
Package

service-provider.

Source

provider.lisp.

Function: %remove-provider (service name if-does-not-exist)
Package

service-provider.

Source

mixins.lisp.

Function: check-service-and-provider (service-form &optional provider-form)
Package

service-provider.

Source

compilation.lisp.


6.2.4 Generic functions

Generic Function: make-provider-form (service provider args environment)

Return a form which makes and returns an instance of the provider designated by the ‘provider-designator’ PROVIDER of the service designated by the ‘service-designator’ SERVICE for ARGS and ENVIRONMENT.

Package

service-provider.

Source

protocol.lisp.

Methods
Method: make-provider-form (service (provider function-provider) (args list) environment)
Source

provider.lisp.

Method: make-provider-form (service (provider class-provider) (args list) environment)
Source

provider.lisp.

Method: make-provider-form (service provider args environment)
Method: make-provider-form ((service symbol) provider args environment)
Generic Reader: service-%providers (object)
Package

service-provider.

Methods
Reader Method: service-%providers ((provider-list-mixin provider-list-mixin))

Associate provider names to provider instances.

Source

mixins.lisp.

Target Slot

providers.

Generic Reader: service-documentation (object)
Generic Writer: (setf service-documentation) (object)
Package

service-provider.

Methods
Reader Method: service-documentation ((documentation-mixin documentation-mixin))
Writer Method: (setf service-documentation) ((documentation-mixin documentation-mixin))

Stores nil or a documentation string.

Source

mixins.lisp.

Target Slot

documentation.


6.2.5 Conditions

Condition: missing-provider-condition

Subclasses of this are signaled when providers specified by designators cannot be found within gives services.

Package

service-provider.

Source

conditions.lisp.

Direct superclasses

service-provider-condition.

Direct subclasses
Direct methods
Direct Default Initargs
InitargValue
:designator(missing-required-initarg (quote missing-provider-condition) designator)
:service(missing-required-initarg (quote missing-provider-condition) service)
Direct slots
Slot: service

Stores the service in which the specified provider could not be found.

Initargs

:service

Readers

missing-provider-service.

Writers

This slot is read-only.

Slot: designator

The designator for which no provider could be found.

Initargs

:designator

Readers

missing-provider-designator.

Writers

This slot is read-only.

Condition: missing-service-condition

Subclasses of this are signaled when services specified by designators cannot be found.

Package

service-provider.

Source

conditions.lisp.

Direct superclasses

service-provider-condition.

Direct subclasses
Direct methods

missing-service-designator.

Direct Default Initargs
InitargValue
:designator(missing-required-initarg (quote missing-service-condition) designator)
Direct slots
Slot: designator

The designator for which no class could be found.

Initargs

:designator

Readers

missing-service-designator.

Writers

This slot is read-only.


6.2.6 Classes

Class: documentation-mixin

This class is intended to be mixed into service or provider classes which support associated documentation strings.

Package

service-provider.

Source

mixins.lisp.

Direct subclasses

standard-service.

Direct methods
Direct slots
Slot: documentation

Stores nil or a documentation string.

Package

common-lisp.

Type

(or null string)

Initargs

:documentation

Readers

service-documentation.

Writers

(setf service-documentation).

Class: name-mixin

This class is intended to be mixed into service or provider classes which have an associated name.

Package

service-provider.

Source

mixins.lisp.

Direct subclasses
Direct Default Initargs
InitargValue
:name(missing-required-initarg (quote name-mixin) name)
Direct slots
Slot: name

Stores the name of the service or provider.

Type

service-provider:provider-designator

Initargs

:name

Class: provider-list-mixin

This class is intended to be mixed service classes which have to store a list of providers.

Package

service-provider.

Source

mixins.lisp.

Direct subclasses

standard-service.

Direct methods
Direct slots
Slot: providers

Associate provider names to provider instances.

Type

hash-table

Initform

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

Readers

service-%providers.

Writers

This slot is read-only.


6.2.7 Types

Type: provider-designator/cons ()
Package

service-provider.

Source

types.lisp.

Type: provider-designator/symbol ()
Package

service-provider.

Source

types.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   C   D   F   G   M   P   R   S   U  
Index Entry  Section

%
%add-or-update-provider: Private ordinary functions
%provider-print-items: Private ordinary functions
%remove-provider: Private ordinary functions

(
(setf find-provider): Public compiler macros
(setf find-provider): Public generic functions
(setf find-provider): Public generic functions
(setf find-provider): Public generic functions
(setf find-provider): Public generic functions
(setf find-provider): Public generic functions
(setf find-provider): Public generic functions
(setf find-service): Public generic functions
(setf find-service): Public generic functions
(setf find-service): Public generic functions
(setf service-documentation): Private generic functions
(setf service-documentation): Private generic functions

A
add-provider: Public compiler macros
add-provider: Public generic functions
add-provider: Public generic functions

C
check-service-and-provider: Private ordinary functions
Compiler Macro, (setf find-provider): Public compiler macros
Compiler Macro, add-provider: Public compiler macros
Compiler Macro, find-provider: Public compiler macros
Compiler Macro, make-provider: Public compiler macros
Compiler Macro, register-provider: Public compiler macros
Compiler Macro, register-provider/class: Public compiler macros
Compiler Macro, register-provider/function: Public compiler macros
Compiler Macro, remove-provider: Public compiler macros
Compiler Macro, update-provider: Public compiler macros

D
define-register-function: Private macros
define-service: Public macros
describe-object: Public standalone methods
documentation: Public standalone methods
documentation: Public standalone methods
documentation: Public standalone methods

F
find-provider: Public compiler macros
find-provider: Public generic functions
find-provider: Public generic functions
find-provider: Public generic functions
find-provider: Public generic functions
find-provider: Public generic functions
find-service: Public generic functions
find-service: Public generic functions
Function, %add-or-update-provider: Private ordinary functions
Function, %provider-print-items: Private ordinary functions
Function, %remove-provider: Private ordinary functions
Function, check-service-and-provider: Private ordinary functions
Function, register-provider: Public ordinary functions
Function, register-provider/class: Public ordinary functions
Function, register-provider/function: Public ordinary functions
Function, register-service: Public ordinary functions

G
Generic Function, (setf find-provider): Public generic functions
Generic Function, (setf find-service): Public generic functions
Generic Function, (setf service-documentation): Private generic functions
Generic Function, add-provider: Public generic functions
Generic Function, find-provider: Public generic functions
Generic Function, find-service: Public generic functions
Generic Function, make-provider: Public generic functions
Generic Function, make-provider-form: Private generic functions
Generic Function, missing-provider-designator: Public generic functions
Generic Function, missing-provider-service: Public generic functions
Generic Function, missing-service-designator: Public generic functions
Generic Function, provider-class: Public generic functions
Generic Function, provider-function: Public generic functions
Generic Function, provider-name: Public generic functions
Generic Function, remove-provider: Public generic functions
Generic Function, service-%providers: Private generic functions
Generic Function, service-documentation: Private generic functions
Generic Function, service-name: Public generic functions
Generic Function, service-providers: Public generic functions
Generic Function, service-providers/alist: Public generic functions
Generic Function, service-providers/plist: Public generic functions
Generic Function, update-provider: Public generic functions

M
Macro, define-register-function: Private macros
Macro, define-service: Public macros
make-provider: Public compiler macros
make-provider: Public generic functions
make-provider: Public generic functions
make-provider: Public generic functions
make-provider: Public generic functions
make-provider: Public generic functions
make-provider-form: Private generic functions
make-provider-form: Private generic functions
make-provider-form: Private generic functions
make-provider-form: Private generic functions
make-provider-form: Private generic functions
Method, (setf find-provider): Public generic functions
Method, (setf find-provider): Public generic functions
Method, (setf find-provider): Public generic functions
Method, (setf find-provider): Public generic functions
Method, (setf find-provider): Public generic functions
Method, (setf find-service): Public generic functions
Method, (setf find-service): Public generic functions
Method, (setf service-documentation): Private generic functions
Method, add-provider: Public generic functions
Method, describe-object: Public standalone methods
Method, documentation: Public standalone methods
Method, documentation: Public standalone methods
Method, documentation: Public standalone methods
Method, find-provider: Public generic functions
Method, find-provider: Public generic functions
Method, find-provider: Public generic functions
Method, find-provider: Public generic functions
Method, find-service: Public generic functions
Method, make-provider: Public generic functions
Method, make-provider: Public generic functions
Method, make-provider: Public generic functions
Method, make-provider: Public generic functions
Method, make-provider-form: Private generic functions
Method, make-provider-form: Private generic functions
Method, make-provider-form: Private generic functions
Method, make-provider-form: Private generic functions
Method, missing-provider-designator: Public generic functions
Method, missing-provider-service: Public generic functions
Method, missing-service-designator: Public generic functions
Method, print-items: Public standalone methods
Method, print-items: Public standalone methods
Method, print-items: Public standalone methods
Method, provider-class: Public generic functions
Method, provider-function: Public generic functions
Method, provider-name: Public generic functions
Method, provider-name: Public generic functions
Method, remove-provider: Public generic functions
Method, service-%providers: Private generic functions
Method, service-documentation: Private generic functions
Method, service-name: Public generic functions
Method, service-name: Public generic functions
Method, service-providers: Public generic functions
Method, service-providers: Public generic functions
Method, service-providers/alist: Public generic functions
Method, service-providers/alist: Public generic functions
Method, service-providers/plist: Public generic functions
Method, service-providers/plist: Public generic functions
Method, shared-initialize: Public standalone methods
Method, shared-initialize: Public standalone methods
Method, update-provider: Public generic functions
missing-provider-designator: Public generic functions
missing-provider-designator: Public generic functions
missing-provider-service: Public generic functions
missing-provider-service: Public generic functions
missing-service-designator: Public generic functions
missing-service-designator: Public generic functions

P
print-items: Public standalone methods
print-items: Public standalone methods
print-items: Public standalone methods
provider-class: Public generic functions
provider-class: Public generic functions
provider-function: Public generic functions
provider-function: Public generic functions
provider-name: Public generic functions
provider-name: Public generic functions
provider-name: Public generic functions

R
register-provider: Public compiler macros
register-provider: Public ordinary functions
register-provider/class: Public compiler macros
register-provider/class: Public ordinary functions
register-provider/function: Public compiler macros
register-provider/function: Public ordinary functions
register-service: Public ordinary functions
remove-provider: Public compiler macros
remove-provider: Public generic functions
remove-provider: Public generic functions

S
service-%providers: Private generic functions
service-%providers: Private generic functions
service-documentation: Private generic functions
service-documentation: Private generic functions
service-name: Public generic functions
service-name: Public generic functions
service-name: Public generic functions
service-providers: Public generic functions
service-providers: Public generic functions
service-providers: Public generic functions
service-providers/alist: Public generic functions
service-providers/alist: Public generic functions
service-providers/alist: Public generic functions
service-providers/plist: Public generic functions
service-providers/plist: Public generic functions
service-providers/plist: Public generic functions
shared-initialize: Public standalone methods
shared-initialize: Public standalone methods

U
update-provider: Public compiler macros
update-provider: Public generic functions
update-provider: Public generic functions


A.4 Data types

Jump to:   A   C   D   F   M   N   P   S   T   V  
Index Entry  Section

A
architecture.service-provider: The architecture․service-provider system
architecture.service-provider.asd: The architecture․service-provider/architecture․service-provider․asd file

C
Class, class-provider: Public classes
Class, documentation-mixin: Private classes
Class, function-provider: Public classes
Class, name-mixin: Private classes
Class, provider-list-mixin: Private classes
Class, standard-service: Public classes
class-provider: Public classes
compilation.lisp: The architecture․service-provider/src/compilation․lisp file
Condition, missing-provider-condition: Private conditions
Condition, missing-provider-error: Public conditions
Condition, missing-provider-warning: Public conditions
Condition, missing-service-condition: Private conditions
Condition, missing-service-error: Public conditions
Condition, missing-service-warning: Public conditions
Condition, service-provider-condition: Public conditions
conditions.lisp: The architecture․service-provider/src/conditions․lisp file

D
documentation-mixin: Private classes

F
File, architecture.service-provider.asd: The architecture․service-provider/architecture․service-provider․asd file
File, compilation.lisp: The architecture․service-provider/src/compilation․lisp file
File, conditions.lisp: The architecture․service-provider/src/conditions․lisp file
File, macros.lisp: The architecture․service-provider/src/macros․lisp file
File, mixins.lisp: The architecture․service-provider/src/mixins․lisp file
File, package.lisp: The architecture․service-provider/src/package․lisp file
File, protocol.lisp: The architecture․service-provider/src/protocol․lisp file
File, provider.lisp: The architecture․service-provider/src/provider․lisp file
File, service.lisp: The architecture․service-provider/src/service․lisp file
File, types.lisp: The architecture․service-provider/src/types․lisp file
File, variables.lisp: The architecture․service-provider/src/variables․lisp file
function-provider: Public classes

M
macros.lisp: The architecture․service-provider/src/macros․lisp file
missing-provider-condition: Private conditions
missing-provider-error: Public conditions
missing-provider-warning: Public conditions
missing-service-condition: Private conditions
missing-service-error: Public conditions
missing-service-warning: Public conditions
mixins.lisp: The architecture․service-provider/src/mixins․lisp file
Module, src: The architecture․service-provider/src module

N
name-mixin: Private classes

P
Package, service-provider: The service-provider package
package.lisp: The architecture․service-provider/src/package․lisp file
protocol.lisp: The architecture․service-provider/src/protocol․lisp file
provider-designator: Public types
provider-designator/cons: Private types
provider-designator/symbol: Private types
provider-list-mixin: Private classes
provider.lisp: The architecture․service-provider/src/provider․lisp file

S
service-designator: Public types
service-provider: The service-provider package
service-provider-condition: Public conditions
service.lisp: The architecture․service-provider/src/service․lisp file
src: The architecture․service-provider/src module
standard-service: Public classes
System, architecture.service-provider: The architecture․service-provider system

T
Type, provider-designator: Public types
Type, provider-designator/cons: Private types
Type, provider-designator/symbol: Private types
Type, service-designator: Public types
types.lisp: The architecture․service-provider/src/types․lisp file

V
variables.lisp: The architecture․service-provider/src/variables․lisp file