indexing description: "Change the openid properties. " author: "Ueli Weiss" date: "$Date$" revision: "$Revision$" class O_USER_CHANGE_OPENID_MESSAGE inherit O_USER_SESSION_MESSAGE rename make as make_session redefine make_from_generic, arguments, type end create make create {O_MESSAGE_FACTORY} make_from_generic feature {NONE} -- Initialization make (a_session: like session; an_openid: like openid; a_visible: INTEGER_REF) is -- Create. require a_session_ok: a_session /= Void and then not a_session.is_empty an_openid_ok: an_openid /= Void and then not an_openid.is_empty a_visible_valid: a_visible /= Void and then a_visible >= 0 do make_session (a_session) openid := an_openid visible := a_visible ensure openid_set: openid = an_openid visible_set: visible = a_visible end make_from_generic (a_msg: O_GENERIC_MESSAGE) is -- Create from a generic message. local l_args: HASH_TABLE [STRING, STRING] do Precursor (a_msg) l_args := a_msg.arguments openid := l_args.item (openid_argument) create visible visible.set_item (l_args.item (visible_argument).to_integer) end feature -- Access type: STRING is -- Type of the message. once Result := user_change_openid_type end openid: STRING -- Openid visible: INTEGER_REF -- is the openid visible to others? (1 for yes, 0 for no) arguments: HASH_TABLE [STRING, STRING] is -- Named arguments. do Result := Precursor Result.force (openid, openid_argument) Result.force (visible.out, visible_argument) end feature {NONE} -- Implementation openid_argument: STRING is "openid" visible_argument: STRING is "visible" invariant openid_ok: openid /= Void and then not openid.is_empty visible_valid: visible /= Void and then visible >= 0 end