indexing description: "API interface to internal_comment services." author: "Marco Zietzling " date: "$Date$" revision: "$Revision$" class INTERNAL_COMMENT_SERVICE inherit API_SERVICE create make feature -- Basic operations comment_add (a_session: STRING; a_project: INTEGER_REF; a_title: STRING; a_text: STRING; a_reference_url: STRING; a_is_new: BOOLEAN_REF; a_comment_type: STRING): BOOLEAN_REF is -- Create a new comment workitem. local l_msg: O_COMMENT_ADD_MESSAGE do -- argument validiation check_anonymous_session (a_session) if not is_valid_session (a_session) then last_fault := err_invalid_session elseif a_project <= 0 then last_fault := err_invalid_project elseif a_title = Void or else a_title.is_empty then last_fault := err_invalid_title elseif a_text = Void or else a_text.is_empty then last_fault := err_invalid_text elseif a_reference_url = Void or else a_reference_url.is_empty then last_fault := err_invalid_filename elseif a_comment_type = Void or else a_comment_type.is_empty then last_fault := err_invalid_comment_type else -- generate and send message create l_msg.make (a_session, a_project, a_title, a_text, a_reference_url, a_is_new, a_comment_type) send_and_wait_for_reply (l_msg) if is_ok then create Result Result.set_item (True) end end end feature -- Creation new_tuple (a_name: STRING): TUPLE is -- Tuple of default-valued arguments to pass to call `a_name'. do if a_name.is_equal (comment_add_name) then create {TUPLE [STRING, INTEGER_REF, STRING, STRING, STRING, BOOLEAN_REF, STRING]}Result end end feature -- Initialisation self_register is -- Register all actions for this service do register_with_help (agent comment_add, comment_add_name, "Add a comment workitem.") end feature {NONE} -- Implementation comment_add_name: STRING is "add" end