Class Jabber::Bytestreams::IqSiFile
In: lib/xmpp4r/bytestreams/iq/si.rb
Parent: XMPPElement
Message Presence XMPPStanza Iq Singleton IdGenerator XMPPElement X IqQuery Error Connection Client Component Client Comparable JID RuntimeError AuthenticationFailure ErrorException NoNameXmlnsRegistered SOCKS5Error REXML::Element Stream SOCKS5Bytestreams SOCKS5BytestreamsTarget SOCKS5BytestreamsInitiator XMPPElement StreamHost IqSiFileRange IqSiFile StreamHostUsed IqSi XRosterItem RosterItem IqFeature XMUCUserItem XMUCUserInvite IqPubSub Items Subscription IqPubSubOwner Item Event Feature Item Identity XDataField XDataReported XDataTitle XDataInstructions IqVcard SOCKS5BytestreamsServerStreamHost TCPSocket SOCKS5Socket IqQuery IqQueryBytestreams IqQueryVersion IqQueryRoster IqQueryMUCOwner IqQueryRPC IqQueryDiscoItems IqQueryDiscoInfo IBB IBBTarget IBBInitiator Responder SimpleResponder Iq IqCommand RosterXItem XRoster RosterX X XMUCUser XMUC XDelay XData XParent MUCClient SimpleMUCClient XMLRPC::ParserWriterChooseMixin Client Server XMLRPC::ParseContentType XMLRPC::BasicServer Base DigestMD5 Plain ServiceHelper NodeHelper FileSource CallbackList Callback Semaphore StreamParser SOCKS5BytestreamsPeer SOCKS5BytestreamsServer IBBQueueItem Responder Helper MUCBrowser NodeBrowser Helper 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/client.rb lib/xmpp4r/stream.rb lib/xmpp4r/semaphore.rb lib/xmpp4r/streamparser.rb lib/xmpp4r/x.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/roster/helper/roster.rb lib/xmpp4r/roster/iq/roster.rb lib/xmpp4r/roster/x/roster.rb Roster lib/xmpp4r/feature_negotiation/iq/feature.rb FeatureNegotiation 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/rpc/helper/server.rb lib/xmpp4r/rpc/helper/client.rb lib/xmpp4r/rpc/iq/rpc.rb RPC lib/xmpp4r/sasl.rb SASL 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/bytestreams/helper/filetransfer.rb TransferSource FileTransfer 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_80_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]