Class: FFI::Clang::Cursor::PlatformAvailability

Inherits:
AutoPointer
  • Object
show all
Defined in:
lib/ffi/clang/cursor.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(memory_pointer) ⇒ PlatformAvailability

Returns a new instance of PlatformAvailability.



385
386
387
388
389
390
391
392
393
# File 'lib/ffi/clang/cursor.rb', line 385

def initialize(memory_pointer)
	pointer = FFI::Pointer.new(memory_pointer)
	super(pointer)

	# I'm not sure this is safe.
	# Keep a reference to CXPlatformAvailability itself allocated by MemoryPointer.
	@memory_pointer = memory_pointer
	@platform_availability = Lib::CXPlatformAvailability.new(memory_pointer)
end

Class Method Details

.release(pointer) ⇒ Object



395
396
397
398
# File 'lib/ffi/clang/cursor.rb', line 395

def self.release(pointer)
	# Memory allocated by get_cursor_platform_availability is managed by AutoPointer.
	Lib.dispose_platform_availability(Lib::CXPlatformAvailability.new(pointer))
end

Instance Method Details

#deprecatedObject



408
409
410
# File 'lib/ffi/clang/cursor.rb', line 408

def deprecated
	@platform_availability[:deprecated]
end

#introducedObject



404
405
406
# File 'lib/ffi/clang/cursor.rb', line 404

def introduced
	@platform_availability[:introduced]
end

#messageObject



420
421
422
# File 'lib/ffi/clang/cursor.rb', line 420

def message
	Lib.get_string @platform_availability[:message]
end

#obsoletedObject



412
413
414
# File 'lib/ffi/clang/cursor.rb', line 412

def obsoleted
	@platform_availability[:obsoleted]
end

#platformObject



400
401
402
# File 'lib/ffi/clang/cursor.rb', line 400

def platform
	Lib.get_string @platform_availability[:platform]
end

#unavailableObject



416
417
418
# File 'lib/ffi/clang/cursor.rb', line 416

def unavailable
	@platform_availability[:unavailable] != 0
end