-- CREATE CONTRACT declare sc_sample_test integer; begin sc_sample_test := acs_sc_contract.new( contract_name => 'ObjectDisplay', contract_desc => 'Object display' ); sc_sample_test := acs_sc_msg_type.new( msg_type_name => 'ObjectDisplay.Name.InputType', msg_type_spec => 'object_id:integer' ); sc_sample_test := acs_sc_msg_type.new( msg_type_name => 'ObjectDisplay.Name.OutputType', msg_type_spec => 'object_name:string' ); sc_sample_test := acs_sc_operation.new( contract_name => 'ObjectDisplay', operation_name => 'name', operation_desc => 'Returns objects name', operation_iscachable_p => 'f', operation_nargs => 1, operation_inputttype => 'ObjectDisplay.Name.InputType', operation_outputtype => 'ObjectDisplay.Name.OutputType' ); sc_sample_test := acs_sc_msg_type.new('ObjectDisplay.Url.InputType','object_id:integer'); sc_sample_test := acs_sc_msg_type.new('ObjectDisplay.Url.OutputType','object_url:uri'); sc_sample_test := 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 ); sc_sample_test := acs_sc_msg_type.new ('ObjectDisplay.SampleHello.InputType', 'object_id:integer,object_txt:string'); sc_sample_test := acs_sc_msg_type.new ('ObjectDisplay.SampleHello.OutputType', 'object_sample:string[],xxx_p:boolean'); sc_sample_test := 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 sc_sample_test := acs_sc_impl.new( 'ObjectDisplay', -- impl_contract_name 'bboard_message', -- impl_name 'bboard' -- impl_owner_name ); sc_sample_test := acs_sc_impl.new_alias( 'ObjectDisplay', -- impl_contract_name 'bboard_message', -- impl_name 'name', -- impl_operation_name 'bboard_message__name', -- impl_alias 'PLPGSQL' -- impl_pl ); sc_sample_test := acs_sc_impl.new_alias( 'ObjectDisplay', -- impl_contract_name 'bboard_message', -- impl_name 'url', -- impl_operation_name 'bboard_message__url', -- impl_alias 'PLPGSQL' -- impl_pl ); sc_sample_test := acs_sc_impl.new_alias( 'ObjectDisplay', -- impl_contract_name 'bboard_message', -- impl_name 'sample_hello', -- impl_operation_name 'bboard_message__sample_hello', -- impl_alias 'TCL' -- impl_pl ); end; / show errors