A string naming the protocol to define.
A list of instance method specifications.
A list of class method specifications.
The macro
define-objc-protocol
defines an Objective-C formal protocol named by
name
for use in the
:objc-class-protocols
option of define-objc-class.
If incorporated-protocols is specified, it should be a list of already defined formal protocol names. These protocols are registered as being incorporated within name . The default is for no protocols to be incorporated.
If instance-methods or class-methods are specified, they define the instance and class methods respectively in the protocol. Each should give a list of method specifications, which are lists of the form:
( name result-type arg-type *)
A string naming the method. The
name
should be a concatenation of the message name and its argument names, including the colons, for example
"setWidth:height:"
.
The Objective-C FLI type that the method returns.
The Objective-C FLI type of the corresponding argument of the method.
The receiver and selector arguments should not be specified by the arg-type s. All the standard Cocoa Foundation and Application Kit protocols from the Mac OS X 10.4 SDK are predefined by LispWorks.
Note: It is not possible to define new protocols entirely in Lisp on Mac OS X 10.5, but
define-objc-protocol
can be used to declare existing protocols.