# =XMPP4R - XMPP Library for Ruby
# License:: Ruby's license (see the LICENSE file) or GNU GPL, at your option.
# Website::http://home.gna.org/xmpp4r/
module Jabber
module MUC
##
# Don't use this. It is the base class (unifying shared
# attributes) of XMUCUserItem and IqQueryMUCAdminItem
class UserItem < XMPPElement
def affiliation
case attributes['affiliation']
when 'admin' then :admin
when 'member' then :member
when 'none' then :none
when 'outcast' then :outcast
when 'owner' then :owner
else nil
end
end
def affiliation=(v)
case v
when :admin then attributes['affiliation'] = 'admin'
when :member then attributes['affiliation'] = 'member'
when :none then attributes['affiliation'] = 'none'
when :outcast then attributes['affiliation'] = 'outcast'
when :owner then attributes['affiliation'] = 'owner'
else attributes['affiliation'] = nil
end
end
def set_affiliation(v)
self.affiliation = v
self
end
def jid
attributes['jid'].nil? ? nil : JID.new(attributes['jid'])
end
def jid=(j)
attributes['jid'] = j.nil? ? nil : j.to_s
end
def set_jid(j)
self.jid = j
self
end
def nick
attributes['nick']
end
def nick=(n)
attributes['nick'] = n
end
def set_nick(n)
self.nick = n
self
end
def role
case attributes['role']
when 'moderator' then :moderator
when 'none' then :none
when 'participant' then :participant
when 'visitor' then :visitor
else nil
end
end
def role=(r)
case r
when :moderator then attributes['role'] = 'moderator'
when :none then attributes['role'] = 'none'
when :participant then attributes['role'] = 'participant'
when :visitor then attributes['role'] = 'visitor'
else attributes['role'] = nil
end
end
def set_role(r)
self.role = r
self
end
def reason
text = nil
each_element('reason') { |xe| text = xe.text }
text
end
def reason=(s)
delete_elements('reasion')
add_element('reason').text = s
end
def set_reason(s)
self.reason = s
self
end
def continue
c = nil
each_element('continue') { |xe| c = xe }
c.nil?
end
def continue=(c)
delete_elements('continue')
add_element('continue') if c
end
def set_continue(c)
self.continue = c
self
end
def actors
a = []
each_element('actor') { |xe|
a.push(JID.new(xe.attributes['jid']))
}
a
end
def actors=(a)
delete_elements('actor')
a.each { |jid|
e = add_element('actor')
e.attributes['jid'] = jid.to_s
}
end
def set_actors(a)
self.actors = a
self
end
end
end
end