Class: CZMQ::FFI::Zfile

Inherits:
Object
  • Object
show all
Defined in:
lib/czmq-ffi-gen/czmq/ffi/zfile.rb

Overview

Note:

This class is 100% generated using zproject.

helper functions for working with files.

Defined Under Namespace

Classes: DestroyedError

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ptr, finalize = true) ⇒ Zfile

Attaches the pointer ptr to this instance and defines a finalizer for it if necessary.

Parameters:

  • ptr (::FFI::Pointer)
  • finalize (Boolean) (defaults to: true)


24
25
26
27
28
29
30
31
32
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 24

def initialize(ptr, finalize = true)
  @ptr = ptr
  if @ptr.null?
    @ptr = nil # Remove null pointers so we don't have to test for them.
  elsif finalize
    @finalizer = self.class.create_finalizer_for @ptr
    ObjectSpace.define_finalizer self, @finalizer
  end
end

Class Method Details

.__newObject



18
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 18

alias :__new :new

.create_finalizer_for(ptr) ⇒ Proc

Parameters:

  • ptr (::FFI::Pointer)

Returns:

  • (Proc)


35
36
37
38
39
40
41
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 35

def self.create_finalizer_for(ptr)
  Proc.new do
    ptr_ptr = ::FFI::MemoryPointer.new :pointer
    ptr_ptr.write_pointer ptr
    ::CZMQ::FFI.zfile_destroy ptr_ptr
  end
end

.new(path, name) ⇒ CZMQ::Zfile

If file exists, populates properties. CZMQ supports portable symbolic links, which are files with the extension “.ln”. A symbolic link is a text file containing one line, the filename of a target file. Reading data from the symbolic link actually reads from the target file. Path may be NULL, in which case it is not used.

Parameters:

  • path (String, #to_s, nil)
  • name (String, #to_s, nil)

Returns:

  • (CZMQ::Zfile)


84
85
86
87
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 84

def self.new(path, name)
  ptr = ::CZMQ::FFI.zfile_new(path, name)
  __new ptr
end

.test(verbose) ⇒ void

This method returns an undefined value.

Self test of this class.

Parameters:

  • verbose (Boolean)


349
350
351
352
353
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 349

def self.test(verbose)
  verbose = !(0==verbose||!verbose) # boolean
  result = ::CZMQ::FFI.zfile_test(verbose)
  result
end

.tmpCZMQ::Zfile

Create new temporary file for writing via tmpfile. File is automatically deleted on destroy

Returns:

  • (CZMQ::Zfile)


92
93
94
95
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 92

def self.tmp()
  ptr = ::CZMQ::FFI.zfile_tmp()
  __new ptr
end

Instance Method Details

#__ptr::FFI::Pointer Also known as: to_ptr

Return internal pointer

Returns:

  • (::FFI::Pointer)

Raises:



48
49
50
51
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 48

def __ptr
  raise DestroyedError unless @ptr
  @ptr
end

#__ptr_give_ref::FFI::MemoryPointer

Note:

This detaches the current instance from the native object and thus makes it unusable.

Nullify internal pointer and return pointer pointer.

Returns:

  • (::FFI::MemoryPointer)

    the pointer pointing to a pointer pointing to the native object

Raises:



59
60
61
62
63
64
65
66
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 59

def __ptr_give_ref
  raise DestroyedError unless @ptr
  ptr_ptr = ::FFI::MemoryPointer.new :pointer
  ptr_ptr.write_pointer @ptr
  __undef_finalizer if @finalizer
  @ptr = nil
  ptr_ptr
end

#__undef_finalizervoid

Note:

Only use this if you need to and can guarantee that the native object will be freed by other means.

This method returns an undefined value.

Undefines the finalizer for this object.



71
72
73
74
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 71

def __undef_finalizer
  ObjectSpace.undefine_finalizer self
  @finalizer = nil
end

#closevoid

This method returns an undefined value.

Close file, if open

Raises:



318
319
320
321
322
323
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 318

def close()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_close(self_p)
  result
end

#cursize::FFI::Pointer

Return the last-known size of the file. If you want this to reflect the current situation, call zfile_restat before checking this property.

Returns:

  • (::FFI::Pointer)

Raises:



157
158
159
160
161
162
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 157

def cursize()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_cursize(self_p)
  result
end

#destroyvoid

This method returns an undefined value.

Destroy a file item



100
101
102
103
104
105
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 100

def destroy()
  return unless @ptr
  self_p = __ptr_give_ref
  result = ::CZMQ::FFI.zfile_destroy(self_p)
  result
end

#digestString

Calculate SHA1 digest for file, using zdigest class.

Returns:

  • (String)

Raises:



338
339
340
341
342
343
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 338

def digest()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_digest(self_p)
  result
end

#dupZfile

Duplicate a file item, returns a newly constructed item. If the file is null, or memory was exhausted, returns null.

Returns:

Raises:



111
112
113
114
115
116
117
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 111

def dup()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_dup(self_p)
  result = Zfile.__new result, true
  result
end

#eofBoolean

Returns true if zfile_read() just read the last chunk in the file.

Returns:

  • (Boolean)

Raises:



283
284
285
286
287
288
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 283

def eof()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_eof(self_p)
  result
end

#filename(path) ⇒ String

Return file name, remove path if provided

Parameters:

  • path (String, #to_s, nil)

Returns:

  • (String)

Raises:



123
124
125
126
127
128
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 123

def filename(path)
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_filename(self_p, path)
  result
end

#handle::FFI::Pointer

Return file handle, if opened

Returns:

  • (::FFI::Pointer)

Raises:



328
329
330
331
332
333
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 328

def handle()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_handle(self_p)
  result
end

#has_changedBoolean

Return true if the file was changed on disk since the zfile_t object was created, or the last zfile_restat() call made on it.

Returns:

  • (Boolean)

Raises:



225
226
227
228
229
230
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 225

def has_changed()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_has_changed(self_p)
  result
end

#inputInteger

Open file for reading Returns 0 if OK, -1 if not found or not accessible

Returns:

  • (Integer)

Raises:



246
247
248
249
250
251
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 246

def input()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_input(self_p)
  result
end

#is_directoryBoolean

Return true if the file is a directory. If you want this to reflect any external changes, call zfile_restat before checking this property.

Returns:

  • (Boolean)

Raises:



168
169
170
171
172
173
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 168

def is_directory()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_is_directory(self_p)
  result
end

#is_readableBoolean

Return true if the file is readable by this process. If you want this to reflect any external changes, call zfile_restat before checking this property.

Returns:

  • (Boolean)

Raises:



191
192
193
194
195
196
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 191

def is_readable()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_is_readable(self_p)
  result
end

#is_regularBoolean

Return true if the file is a regular file. If you want this to reflect any external changes, call zfile_restat before checking this property.

Returns:

  • (Boolean)

Raises:



179
180
181
182
183
184
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 179

def is_regular()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_is_regular(self_p)
  result
end

#is_stableBoolean

Check if file has stopped changing and can be safely processed. Updates the file statistics from disk at every call.

Returns:

  • (Boolean)

Raises:



214
215
216
217
218
219
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 214

def is_stable()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_is_stable(self_p)
  result
end

#is_writeableBoolean

Return true if the file is writeable by this process. If you want this to reflect any external changes, call zfile_restat before checking this property.

Returns:

  • (Boolean)

Raises:



203
204
205
206
207
208
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 203

def is_writeable()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_is_writeable(self_p)
  result
end

#modified::FFI::Pointer

Return when the file was last modified. If you want this to reflect the current situation, call zfile_restat before checking this property.

Returns:

  • (::FFI::Pointer)

Raises:



146
147
148
149
150
151
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 146

def modified()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_modified(self_p)
  result
end

#null?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 43

def null?
  !@ptr or @ptr.null?
end

#outputInteger

Open file for writing, creating directory if needed File is created if necessary; chunks can be written to file at any location. Returns 0 if OK, -1 if error.

Returns:

  • (Integer)

Raises:



258
259
260
261
262
263
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 258

def output()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_output(self_p)
  result
end

#read(bytes, offset) ⇒ Zchunk

Read chunk from file at specified position. If this was the last chunk, sets the eof property. Returns a null chunk in case of error.

Parameters:

  • bytes (Integer, #to_int, #to_i)
  • offset (::FFI::Pointer, #to_ptr)

Returns:

Raises:



271
272
273
274
275
276
277
278
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 271

def read(bytes, offset)
  raise DestroyedError unless @ptr
  self_p = @ptr
  bytes = Integer(bytes)
  result = ::CZMQ::FFI.zfile_read(self_p, bytes, offset)
  result = Zchunk.__new result, true
  result
end

#readlnString

Read next line of text from file. Returns a pointer to the text line, or NULL if there was nothing more to read from the file.

Returns:

  • (String)

Raises:



308
309
310
311
312
313
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 308

def readln()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_readln(self_p)
  result
end

#removevoid

This method returns an undefined value.

Remove the file from disk

Raises:



235
236
237
238
239
240
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 235

def remove()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_remove(self_p)
  result
end

#restatvoid

This method returns an undefined value.

Refresh file properties from disk; this is not done automatically on access methods, otherwise it is not possible to compare directory snapshots.

Raises:



135
136
137
138
139
140
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 135

def restat()
  raise DestroyedError unless @ptr
  self_p = @ptr
  result = ::CZMQ::FFI.zfile_restat(self_p)
  result
end

#write(chunk, offset) ⇒ Integer

Write chunk to file at specified position Return 0 if OK, else -1

Parameters:

Returns:

  • (Integer)

Raises:



296
297
298
299
300
301
302
# File 'lib/czmq-ffi-gen/czmq/ffi/zfile.rb', line 296

def write(chunk, offset)
  raise DestroyedError unless @ptr
  self_p = @ptr
  chunk = chunk.__ptr if chunk
  result = ::CZMQ::FFI.zfile_write(self_p, chunk, offset)
  result
end