indexing description: "Release list reply message." author: "Peter Wyss " date: "$Date: 2007-07-29 23:35:49 +0200 (Sun, 29 Jul 2007) $" revision: "$Revision: 587 $" class O_RELEASE_LIST_REPLY_MESSAGE inherit O_MESSAGE rename make as make_message redefine make_from_generic end O_RELEASE_CONSTANTS undefine out end create make create {O_MESSAGE_FACTORY} make_from_generic feature {NONE} -- Initialization make (a_release_list: like release_list) is -- Create. require a_release_list_not_void: a_release_list /= Void do make_message release_list := a_release_list ensure release_list_set: release_list = a_release_list end make_from_generic (a_msg: O_GENERIC_MESSAGE) is -- Create from a generic message. local l_args: HASH_TABLE [STRING, STRING] l_item: TUPLE [INTEGER, INTEGER, STRING, STRING, STRING, ARRAYED_LIST [TUPLE [name: STRING; platform: STRING]]] do Precursor (a_msg) l_args := a_msg.arguments create release_list.make (l_args.count) from l_args.start until l_args.after loop l_item ?= deserialize(l_args.item_for_iteration) release_list.force (l_item, l_args.key_for_iteration.to_integer) l_args.forth end end feature -- Access namespace: STRING is -- Namespace of the message type. once Result := release_namespace end type: STRING is -- Type of the message. once Result := release_list_reply_type end release_list: DS_HASH_TABLE [TUPLE [project: INTEGER; creation_time: INTEGER; name: STRING; description: STRING; version: STRING; files: ARRAYED_LIST [TUPLE [name: STRING; platform: STRING]]], INTEGER] -- workitem list. arguments: HASH_TABLE [STRING, STRING] is -- Named arguments. do create Result.make (release_list.count) from release_list.start until release_list.after loop Result.force (serialize(release_list.item_for_iteration), release_list.key_for_iteration.out) release_list.forth end end invariant release_list_not_void: release_list /= Void end