Module: Jansson::FFI Private

Extended by:
FFI::Library
Defined in:
lib/jansson/ffi.rb,
lib/jansson/ffi/ext/error.rb,
lib/jansson/ffi/ext/entity.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Bindings and wrappers for the native functions and structures exposed by the libjansson C library. This module is for internal use only so that all dependencies on the implementation of the C library are abstracted.

Defined Under Namespace

Classes: Entity, Error

Constant Summary collapse

EntityType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

enum [
  :object,
  :array,
  :string,
  :integer,
  :real,
  :true,
  :false,
  :null,
]
INTEGER_IS_LONG_LONG =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

true
ERROR_SOURCE_LENGTH =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Error reporting

160
ERROR_TEXT_LENGTH =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

80
PACK_VALIDATE_ONLY =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Pack, unpack

0x1
PACK_STRICT =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x2
LOAD_REJECT_DUPLICATES =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Decoding

0x1
LOAD_DISABLE_EOF_CHECK =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x2
LOAD_DECODE_ANY =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x4
LOAD_DECODE_INT_AS_REAL =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x8
LOAD_ALLOW_NUL =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x10
DUMP_COMPACT =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x20
DUMP_ENSURE_ASCII =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x40
DUMP_SORT_KEYS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x80
DUMP_PRESERVE_ORDER =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x100
DUMP_ENCODE_ANY =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x200
DUMP_ESCAPE_SLASH =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

0x400

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.DUMP_INDENT(n) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Encoding



157
# File 'lib/jansson/ffi.rb', line 157

def self.DUMP_INDENT(n)          n & 0x1F end

.DUMP_REAL_PRECISION(n) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



164
# File 'lib/jansson/ffi.rb', line 164

def self.DUMP_REAL_PRECISION(n) (n & 0x1F) << 11 end

Instance Method Details

#json_copyObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Copying



140
# File 'lib/jansson/ffi.rb', line 140

attach_function :json_copy,      [Entity.ptr], Entity.ptr

#json_equalObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Equality



135
# File 'lib/jansson/ffi.rb', line 135

attach_function :json_equal, [Entity.ptr, Entity.ptr], :int

#json_objectObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Construction, destruction, reference counting



49
# File 'lib/jansson/ffi.rb', line 49

attach_function :json_object,          [],                 Entity.ptr, **opts

#json_object_seedObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Getters, setters, manipulation



80
# File 'lib/jansson/ffi.rb', line 80

attach_function :json_object_seed,            [:size_t],                          :void,      **opts