Class: RPM::Problem

Inherits:
Object
  • Object
show all
Defined in:
lib/rpm/problem.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create(type, pkg_nevr, key, alt_nevr, str, number) ⇒ Object

Create a problem item.



27
28
29
30
# File 'lib/rpm/problem.rb', line 27

def self.create(type, pkg_nevr, key, alt_nevr, str, number)
  ptr = ::FFI::AutoPointer.new(RPM::C.rpmProblemCreate(type, pkg_nevr, key, alt_nevr, str, number), Problem.method(:release))
  new(ptr)
end

.from_ptr(ptr) ⇒ RPM::Problem

Creates a problem from an existing C pointer, refcounting it first.



12
13
14
15
16
17
18
19
# File 'lib/rpm/problem.rb', line 12

def self.from_ptr(ptr)
  case ptr
  when FFI::Pointer
    new(FFI::AutoPointer.new(RPM::C.rpmProblemLink(ptr), Problem.method(:release)))
  else
    raise "Can't initialize header with '#{ptr}'"
  end
end

.release(ptr) ⇒ Object



4
5
6
# File 'lib/rpm/problem.rb', line 4

def self.release(ptr)
  RPM::C.rpmProblemFree(ptr)
end

Instance Method Details

#<=>(other) ⇒ Fixnum



58
59
60
# File 'lib/rpm/problem.rb', line 58

def <=>(other)
  RPM::C.rpmProblemCompare(@ptr, other.ptr)
end

#keyString



43
44
45
# File 'lib/rpm/problem.rb', line 43

def key
  RPM::C.rpmProblemGetKey(@ptr).read_string
end

#strString



48
49
50
# File 'lib/rpm/problem.rb', line 48

def str
  RPM::C.rpmProblemGetStr(@ptr)
end

#to_sString



53
54
55
# File 'lib/rpm/problem.rb', line 53

def to_s
  RPM::C.rpmProblemString(@ptr)
end

#typeRPM::ProblemType



38
39
40
# File 'lib/rpm/problem.rb', line 38

def type
  RPM::C.rpmProblemGetType(@ptr)
end