• Publicity: Public Only All

acs-service-contract-procs.tcl

Support library for acs service contracts.

Location:
packages/acs-service-contract/tcl/acs-service-contract-procs.tcl
Created:
2001-09-01
Author:
Neophytos Demetriou
CVS Identification:
$Id: acs-service-contract-procs.tcl,v 1.33.2.7 2023/01/04 16:33:03 antoniop Exp $

Procedures in this file

Detailed information

acs_sc::invoke (public)

 acs_sc::invoke [ -contract contract ] -operation operation \
    [ -impl impl ] [ -impl_id impl_id ] [ -call_args call_args ] \
    [ -error ]

A replacement of the former acs_sc_call procedure. One must supply either contract and impl, or just impl_id. If you supply impl_id and contract, we throw an error if the impl_id's contract doesn't match the contract you passed in. If you supply both impl_id and impl, we throw an error. Additional documentation and commentary at http://openacs.org/forums/message-view?message_id=108614.

Switches:
-contract (optional)
The name of the contract you wish to use.
-operation (required)
The name of the operation in the contract you wish to call.
-impl (optional)
The name of the implementation you wish to use.
-impl_id (optional)
The ID of the implementation you wish to use.
-call_args (optional)
The arguments you want to pass to the proc.
-error (optional, boolean)
If specified, will throw an error if the operation isn't implemented.
Author:
Lars Pind <lars@collaboraid.biz>
See Also:

Testcases:
sync_http_get_document, sync_file_get_document

acs_sc_binding_exists_p (public)

 acs_sc_binding_exists_p contract impl

Returns a boolean depending on whether or not the binding between the contract and implementation exists.

Parameters:
contract (required)
the contract name
impl (required)
the implementation name
Returns:
boolean
Author:
Neophytos Demetriou

Testcases:
acs_sc_impl_new_from_spec

acs_sc_update_alias_wrappers (public)

 acs_sc_update_alias_wrappers

Loop over actual bindings, finding every impl alias for each contract operation and call "acs_sc_proc" for all of these.

See Also:

Testcases:
No testcase defined.
[ show source ]