-- CREATE CONTRACT
select acs_sc_contract__new (
'ObjectDisplay', -- contract_name
'Object display' -- contract_desc
);
select acs_sc_msg_type__new ('ObjectDisplay.Name.InputType','object_id:integer');
select acs_sc_msg_type__new ('ObjectDisplay.Name.OutputType','object_name:string');
select acs_sc_operation__new (
'ObjectDisplay', -- contract_name
'name', -- operation_name
'Returns object''s name', -- operation_desc
'f', -- operation_iscachable_p
1, -- operation_nargs
'ObjectDisplay.Name.InputType', -- operation_inputtype
'ObjectDisplay.Name.OutputType' -- operation_outputtype
);
select acs_sc_msg_type__new ('ObjectDisplay.Url.InputType','object_id:integer');
select acs_sc_msg_type__new ('ObjectDisplay.Url.OutputType','object_url:uri');
select acs_sc_operation__new (
'ObjectDisplay', -- contract_name
'url', -- operation_name
'Returns object''s url', -- operation_desc
'f', -- operation_iscachable_p
1, -- operation_nargs
'ObjectDisplay.Url.InputType', -- operation_inputtype
'ObjectDisplay.Url.OutputType' -- operation_outputtype
);
select acs_sc_msg_type__new ('ObjectDisplay.SampleHello.InputType','object_id:integer,object_txt:string');
select acs_sc_msg_type__new ('ObjectDisplay.SampleHello.OutputType','object_sample:string[],xxx_p:boolean');
select acs_sc_operation__new (
'ObjectDisplay', -- contract_name
'sample_hello', -- operation_name
'Returns object''s url', -- operation_desc
't', -- operation_iscachable_p
1, -- operation_nargs
'ObjectDisplay.SampleHello.InputType', -- operation_inputtype
'ObjectDisplay.SampleHello.OutputType' -- operation_outputtype
);
-- CREATE IMPLEMENTATION
select acs_sc_impl__new(
'ObjectDisplay', -- impl_contract_name
'bboard_message', -- impl_name
'bboard' -- impl_owner_name
);
select acs_sc_impl_alias__new(
'ObjectDisplay', -- impl_contract_name
'bboard_message', -- impl_name
'name', -- impl_operation_name
'bboard_message__name', -- impl_alias
'PLPGSQL' -- impl_pl
);
select acs_sc_impl_alias__new(
'ObjectDisplay', -- impl_contract_name
'bboard_message', -- impl_name
'url', -- impl_operation_name
'bboard_message__url', -- impl_alias
'PLPGSQL' -- impl_pl
);
select acs_sc_impl_alias__new(
'ObjectDisplay', -- impl_contract_name
'bboard_message', -- impl_name
'sample_hello', -- impl_operation_name
'bboard_message__sample_hello', -- impl_alias
'TCL' -- impl_pl
);