indexing description: "Origo node to build a software and return build results." author: "Patrick Ruckstuhl " date: "$Date$" revision: "$Revision$" class NODE_BUILD inherit O_NODE_CLIENT redefine register_message_handlers end O_BUILD_CONSTANTS ARGUMENTS create make feature -- Access Peer_description: STRING is "Build node that builds a software and returns build results." -- Node's peer description name: STRING is "Origo Build" version: STRING is "$Revision$" feature {NONE} -- Callbacks launch_build (a_msg: O_MESSAGE) is -- Launch a build as described in a_msg. require a_msg_set: a_msg /= Void local l_prc_factory: PROCESS_FACTORY l_prc_launcher: PROCESS l_success: BOOLEAN l_msg: O_BUILD_RESULT_MESSAGE do create l_prc_factory l_prc_launcher := l_prc_factory.process_launcher_with_command_line (argument (1), Void) l_prc_launcher.launch if l_prc_launcher.launched then l_prc_launcher.wait_for_exit l_success := l_prc_launcher.exit_code = 0 end -- create and send reply message create l_msg.make (l_success) send_message_reply (l_msg, a_msg) end feature {NONE} -- Implementation register_message_handlers is -- Register message handlers. do Precursor register_message_handler (build_namespace, build_simple_type, agent launch_build) end end