Class: Mount::Cache

Inherits:
Object
  • Object
show all
Defined in:
lib/rbmount/cache.rb

Instance Method Summary collapse

Constructor Details

#initialize(ptr = nil) ⇒ Cache

Returns a new instance of Cache.



24
25
26
27
28
29
30
# File 'lib/rbmount/cache.rb', line 24

def initialize (ptr=nil)
  @pointer= ptr
  @pointer = Mount::C.mnt_new_fs unless @pointer
  raise if @pointer.null?

  ObjectSpace.define_finalizer(self, method(:finalize))
end

Instance Method Details

#finalize(id = nil) ⇒ Object



68
69
70
# File 'lib/rbmount/cache.rb', line 68

def finalize (id=nil)
  Mount::C.mnt_free_cache(@pointer)
end

#fs_type(devname, amb = false) ⇒ Object



45
46
47
48
49
50
# File 'lib/rbmount/cache.rb', line 45

def fs_type (devname, amb=false)
  ambi = amb ? FFI::MemoryPointer.new(:int) : nil
  fs = Mount::C.mnt_get_fstype(devname, ambi, @pointer)

  amb ? [fs, ambi.read_int] : fs
end

#has_tag?(devname, token, value) ⇒ Boolean Also known as: tag?

Returns:

  • (Boolean)


32
33
34
# File 'lib/rbmount/cache.rb', line 32

def has_tag? (devname, token, value)
  Mount::C.mnt_cache_device_has_tag(@pointer, devname, token, value)
end

#pretty_path(devname) ⇒ Object



52
53
54
# File 'lib/rbmount/cache.rb', line 52

def pretty_path (devname)
  Mount::C.mnt_pretty_path(devname, @pointer)
end

#read_tags(devname) ⇒ Object



41
42
43
# File 'lib/rbmount/cache.rb', line 41

def read_tags (devname)
  Mount::C.mnt_cache_read_tags(@pointer, devname)
end

#resolve_path(path) ⇒ Object



56
57
58
# File 'lib/rbmount/cache.rb', line 56

def resolve_path (path)
  Mount::C.mnt_resolve_path(path, @pointer)
end

#resolve_spec(spec) ⇒ Object



60
61
62
# File 'lib/rbmount/cache.rb', line 60

def resolve_spec (spec)
  Mount::C.mnt_resolve_spec(spec, @pointer)
end

#resolve_tag(token, value) ⇒ Object



64
65
66
# File 'lib/rbmount/cache.rb', line 64

def resolve_tag (token, value)
  Mount::C.mnt_resolve_tag(token, value, @pointer)
end

#tag(devname, token) ⇒ Object



37
38
39
# File 'lib/rbmount/cache.rb', line 37

def tag (devname, token)
  Mount::C.mnt_cache_find_tag_value(@pointer, devname, token)
end

#to_cObject



72
73
74
# File 'lib/rbmount/cache.rb', line 72

def to_c
  @pointer
end