Class Jabber::Bytestreams::IqSiFile
In: lib/xmpp4r/bytestreams/iq/si.rb
Parent: XMPPElement
Message Presence XMPPStanza Iq XMPPElement X IqQuery Error Singleton IdGenerator Connection Client Component Client Comparable JID RuntimeError ErrorException AuthenticationFailure NoNameXmlnsRegistered SOCKS5Error REXML::Element Stream SOCKS5Bytestreams SOCKS5BytestreamsTarget SOCKS5BytestreamsInitiator XMPPElement StreamHost IqSiFileRange IqSiFile StreamHostUsed IqSi IqFeature XRosterItem RosterItem XMUCUserItem XMUCUserInvite IqPubSub Items Subscription IqPubSubOwner Item Event Feature Identity Item XDataField XDataReported XDataTitle XDataInstructions IqVcard SOCKS5BytestreamsServerStreamHost TCPSocket SOCKS5Socket IqQuery IqQueryBytestreams IqQueryVersion IqQueryRoster IqQueryRPC IqQueryMUCOwner IqQueryDiscoItems IqQueryDiscoInfo IBB IBBTarget IBBInitiator Responder SimpleResponder Iq IqCommand RosterXItem XRoster RosterX X XMUCUser XMUC XDelay XData XMLRPC::ParserWriterChooseMixin Client Server XMLRPC::ParseContentType XMLRPC::BasicServer XParent MUCClient SimpleMUCClient Base DigestMD5 Plain FileSource ServiceHelper NodeHelper CallbackList Callback Semaphore StreamParser SOCKS5BytestreamsPeer SOCKS5BytestreamsServer IBBQueueItem Responder Helper MUCBrowser Helper NodeBrowser Helper lib/xmpp4r/authenticationfailure.rb lib/xmpp4r/xmppstanza.rb lib/xmpp4r/callbacks.rb lib/xmpp4r/idgenerator.rb lib/xmpp4r/connection.rb lib/xmpp4r/iq.rb lib/xmpp4r/jid.rb lib/xmpp4r/errorexception.rb lib/xmpp4r/semaphore.rb lib/xmpp4r/client.rb lib/xmpp4r/stream.rb lib/xmpp4r/x.rb lib/xmpp4r/streamparser.rb lib/xmpp4r/error.rb lib/xmpp4r/component.rb lib/xmpp4r/query.rb lib/xmpp4r/xmppelement.rb lib/xmpp4r/message.rb lib/xmpp4r/presence.rb lib/xmpp4r/bytestreams/helper/ibb/initiator.rb lib/xmpp4r/bytestreams/iq/si.rb lib/xmpp4r/bytestreams/iq/bytestreams.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/base.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/server.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/target.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/socks5.rb lib/xmpp4r/bytestreams/helper/socks5bytestreams/initiator.rb lib/xmpp4r/bytestreams/helper/ibb/base.rb lib/xmpp4r/bytestreams/helper/ibb/target.rb Bytestreams XParent lib/xmpp4r/version/iq/version.rb lib/xmpp4r/version/helper/responder.rb lib/xmpp4r/version/helper/simpleresponder.rb Version lib/xmpp4r/command/iq/command.rb lib/xmpp4r/command/helper/responder.rb Command lib/xmpp4r/feature_negotiation/iq/feature.rb FeatureNegotiation lib/xmpp4r/roster/helper/roster.rb lib/xmpp4r/roster/iq/roster.rb lib/xmpp4r/roster/x/roster.rb Roster lib/xmpp4r/rpc/helper/server.rb lib/xmpp4r/rpc/helper/client.rb lib/xmpp4r/rpc/iq/rpc.rb RPC lib/xmpp4r/muc/x/muc.rb lib/xmpp4r/muc/helper/mucclient.rb lib/xmpp4r/muc/x/mucuseritem.rb lib/xmpp4r/muc/helper/mucbrowser.rb lib/xmpp4r/muc/x/mucuserinvite.rb lib/xmpp4r/muc/iq/mucowner.rb lib/xmpp4r/muc/helper/simplemucclient.rb MUC lib/xmpp4r/sasl.rb SASL lib/xmpp4r/bytestreams/helper/filetransfer.rb TransferSource FileTransfer lib/xmpp4r/delay/x/delay.rb Delay lib/xmpp4r/pubsub/stanzas/subscription.rb lib/xmpp4r/pubsub/helper/servicehelper.rb lib/xmpp4r/pubsub/stanzas/item.rb lib/xmpp4r/pubsub/helper/nodehelper.rb lib/xmpp4r/pubsub/iq/pubsub.rb lib/xmpp4r/pubsub/stanzas/event.rb lib/xmpp4r/pubsub/helper/nodebrowser.rb lib/xmpp4r/pubsub/stanzas/items.rb PubSub lib/xmpp4r/httpbinding/client.rb HTTPBinding lib/xmpp4r/discovery/iq/discoinfo.rb lib/xmpp4r/discovery/iq/discoitems.rb Discovery lib/xmpp4r/dataforms/x/data.rb Dataforms lib/xmpp4r/vcard/helper/vcard.rb lib/xmpp4r/vcard/iq/vcard.rb Vcard Jabber dot/m_81_0.png

File-transfer meta-information, may appear as <file/> in IqSi

Methods

date   date=   description   description=   fname   fname=   hash   hash=   new   range   size   size=  

Public Class methods

[Source]

    # File lib/xmpp4r/bytestreams/iq/si.rb, line 85
85:       def initialize(fname=nil, size=nil)
86:         super()
87:         self.fname = fname
88:         self.size = size
89:       end

Public Instance methods

Get file date

result:[Time] or nil

[Source]

     # File lib/xmpp4r/bytestreams/iq/si.rb, line 118
118:       def date
119:         begin
120:           Time.xmlschema(attributes['date'])
121:         rescue ArgumentError
122:           nil
123:         end
124:       end

Set file date

d:[Time] or nil

[Source]

     # File lib/xmpp4r/bytestreams/iq/si.rb, line 129
129:       def date=(d)
130:         attributes['date'] = (d ? d.xmlschema : nil)
131:       end

File description

[Source]

     # File lib/xmpp4r/bytestreams/iq/si.rb, line 148
148:       def description
149:         first_element_text('desc')
150:       end

Set file description

[Source]

     # File lib/xmpp4r/bytestreams/iq/si.rb, line 154
154:       def description=(s)
155:         replace_element_text('desc', s)
156:       end

Get filename (attribute ‘name’)

[Source]

    # File lib/xmpp4r/bytestreams/iq/si.rb, line 93
93:       def fname
94:         attributes['name']
95:       end

Set filename (attribute ‘name’)

[Source]

     # File lib/xmpp4r/bytestreams/iq/si.rb, line 99
 99:       def fname=(s)
100:         attributes['name'] = s
101:       end

Get MD5 hash

[Source]

     # File lib/xmpp4r/bytestreams/iq/si.rb, line 105
105:       def hash
106:         attributes['hash']
107:       end

Set MD5 hash

[Source]

     # File lib/xmpp4r/bytestreams/iq/si.rb, line 111
111:       def hash=(s)
112:         attributes['hash'] = s
113:       end

<range/> child

A file-transfer offer may contain this with no attributes set, indicating the ability to do ranged transfers.

result:[IqSiFileRange]

[Source]

     # File lib/xmpp4r/bytestreams/iq/si.rb, line 165
165:       def range
166:         first_element('range')
167:       end

File size in bytes

result:[Fixnum]

[Source]

     # File lib/xmpp4r/bytestreams/iq/si.rb, line 136
136:       def size
137:         (attributes['size'] =~ /^\d+$/) ? attributes['size'].to_i : nil
138:       end

Set file size

[Source]

     # File lib/xmpp4r/bytestreams/iq/si.rb, line 142
142:       def size=(s)
143:         attributes['size'] = s ? s.to_s : nil
144:       end

[Validate]