-
Notifications
You must be signed in to change notification settings - Fork 0
implement
- ACE Directive*
Defines an interface implementation, and begins an implementation block. End the block with $#endimplement
Inside the block, functions should be specified in the order as they are listed in the interface-type definition (see the relevant header file.)
The interface implementation that is created will automatically be registered and unregistered in the module code.
For more information on interfaces, see http://bitbucket.org/grelminar/asss/wiki/Interface
- $#implement scope interfaceTypeOrId1
- $#implement scope interfaceTypeOrId1 interfaceTypeOrId2
- $#implement scope interfaceTypeOrId1 interfaceTypeOrId2// //implementationName
global or arena. with global, registers this interface implementation on load for all arenas. with arena, registers this implementation on attach to an arena.
either the struct type (for example: Ichat) or the interface identifier (for example: I_CHAT)
this parameter expects typenames of the form Ifoo or identifiers of the form I_FOO.
if of neither form, this directive will assume that it is a typename
(Optional)
if the struct type is specified for interfaceTypeOrId1, then this is the interface identifier.
if the interface identifier is specified for interfaceTypeOrId1, then this is the struct type.
if not specified, defaults to typenames of the form I_FOO (where Ifoo is a standard type name), and Ifoo (where I_FOO is a standard interface id.)
if interfaceTypeOrId1 was not a standard type name, it will default to I_FOO, where FOO is interfaceTypeOrId1.
(Optional)
the name of the implementation. this is only presently used in asss for the rare instances of mm->GetInterfaceByName. by default, the name is foo-moduleName where foo is the the lowercase interface type (sans a leading I if of the form Ifoo)