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.



501
502
503
504
505
506
507
508
509
# File 'lib/ffi/clang/cursor.rb', line 501

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



511
512
513
514
# File 'lib/ffi/clang/cursor.rb', line 511

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



524
525
526
# File 'lib/ffi/clang/cursor.rb', line 524

def deprecated
	@platform_availability[:deprecated]
end

#introducedObject



520
521
522
# File 'lib/ffi/clang/cursor.rb', line 520

def introduced
	@platform_availability[:introduced]
end

#messageObject



536
537
538
# File 'lib/ffi/clang/cursor.rb', line 536

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

#obsoletedObject



528
529
530
# File 'lib/ffi/clang/cursor.rb', line 528

def obsoleted
	@platform_availability[:obsoleted]
end

#platformObject



516
517
518
# File 'lib/ffi/clang/cursor.rb', line 516

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

#unavailableObject



532
533
534
# File 'lib/ffi/clang/cursor.rb', line 532

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