jnr.ffi.byref
Class IntByReference

java.lang.Object
  extended by java.lang.Number
      extended by jnr.ffi.byref.AbstractNumberReference<Integer>
          extended by jnr.ffi.byref.IntByReference
All Implemented Interfaces:
Serializable, ByReference<Integer>

public final class IntByReference
extends AbstractNumberReference<Integer>

IntByReference is used when the address of a primitive int must be passed as a parameter to a function.

For example, the following C code,

 extern void get_a(int * ap);

 int foo(void) {
     int a;
     // pass a reference to 'a' so get_a() can fill it out
     get_a(&a);

     return a;
 }
 
 

Would be declared in java as

 interface Lib {
     void get_a(@Out IntByReference ap);
 }
 
 

and used like this

 IntByReference ap = new IntByReference();
 lib.get_a(ap);
 System.out.printf("a from lib=%d\n", a.intValue());
 

See Also:
Serialized Form

Constructor Summary
IntByReference()
          Creates a new reference to an integer value initialized to zero.
IntByReference(int value)
          Creates a new reference to an integer value
IntByReference(Integer value)
          Creates a new reference to an integer value
 
Method Summary
 void fromNative(Runtime runtime, Pointer buffer, long offset)
          Copies the integer value from native memory
 int nativeSize(Runtime runtime)
          Gets the native size of type of reference
 void toNative(Runtime runtime, Pointer buffer, long offset)
          Copies the integer value to native memory
 
Methods inherited from class jnr.ffi.byref.AbstractNumberReference
byteValue, checkNull, doubleValue, floatValue, getValue, intValue, longValue, shortValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IntByReference

public IntByReference()
Creates a new reference to an integer value initialized to zero.


IntByReference

public IntByReference(Integer value)
Creates a new reference to an integer value

Parameters:
value - the initial native value

IntByReference

public IntByReference(int value)
Creates a new reference to an integer value

Parameters:
value - the initial native value
Method Detail

toNative

public void toNative(Runtime runtime,
                     Pointer buffer,
                     long offset)
Copies the integer value to native memory

Parameters:
runtime -
buffer - the native memory buffer

fromNative

public void fromNative(Runtime runtime,
                       Pointer buffer,
                       long offset)
Copies the integer value from native memory

Parameters:
runtime -
buffer - the native memory buffer.

nativeSize

public int nativeSize(Runtime runtime)
Gets the native size of type of reference

Returns:
Integer.SIZE


Copyright © 2013. All Rights Reserved.