indexing description: "Build use case." author: "Patrick Ruckstuhl " date: "$Date$" revision: "$Revision$" class BUILD inherit USE_CASE O_BUILD_CONSTANTS create make feature -- Access namespace: STRING is -- Namespace of this use case. once Result := build_namespace end type: STRING is -- Message type of this use case. once Result := build_simple_type end feature -- Basic operation start (a_msg: O_MESSAGE) is -- Start the use case by a_msg. local l_msg: O_BUILD_SIMPLE_MESSAGE do -- send a message to the build server, to launch the build create l_msg.make l_msg.set_reply_handler (agent reply_status_to_api (?, a_msg)) node.send_message_node (l_msg, "build1") end feature {NONE} -- Callbacks reply_status_to_api (a_build_msg, a_api_msg: O_MESSAGE) is -- Send a reply to the api node with the build result. require a_build_msg_set: a_build_msg /= Void a_api_msg_set: a_api_msg /= Void local l_bm: O_BUILD_RESULT_MESSAGE l_msg: O_BUILD_RESULT_MESSAGE do l_bm ?= a_build_msg check build_reply: l_bm /= Void end create l_msg.make (l_bm.compilation_result) node.send_message_reply (l_msg, a_api_msg) end end