Class: Net::SSH::Kerberos::Drivers::GSS::API::GssOID

Inherits:
Object
  • Object
show all
Defined in:
lib/net/ssh/kerberos/drivers/gss.rb

Constant Summary collapse

PACK =
(RUBY_PLATFORM =~ /darwin/ ? 'I' : "I@#{DL.sizeof('P')}")+'P'
ELEMENTS_OFFSET =
DL.sizeof(RUBY_PLATFORM =~ /darwin/ ? 'I' : 'P')
STRUCT_SIZE =
ELEMENTS_OFFSET + DL.sizeof('P')

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ptr) ⇒ GssOID

Returns a new instance of GssOID.



76
77
78
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 76

def initialize(ptr)
	@ptr = ptr
end

Class Method Details

.create(bytes) ⇒ Object



80
81
82
83
84
85
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 80

def self.create(bytes)
	v = [bytes.length, bytes]
	o = new v.pack(PACK).to_ptr
	o.instance_variable_set :@unpack, v
	o
end

.sizeObject



97
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 97

def self.size; STRUCT_SIZE end

Instance Method Details

#==(oid) ⇒ Object



92
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 92

def ==(oid) !oid.nil? && length==oid.length && to_s==oid.to_s end

#elementsObject Also known as: to_s



88
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 88

def elements; unpack[1] end

#eql?(oid) ⇒ Boolean

Returns:

  • (Boolean)


91
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 91

def eql?(oid) !oid.nil? && length==oid.length && to_s==oid.to_s end

#inspectObject



93
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 93

def inspect; 'OID: ' + (to_s.unpack("H2" * length).join(' ')) end

#lengthObject



87
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 87

def length; unpack[0] end

#ptrObject Also known as: to_ptr



94
# File 'lib/net/ssh/kerberos/drivers/gss.rb', line 94

def ptr; @ptr end