de.intarsys.nativec.type
Class NativeStructType

java.lang.Object
  extended by de.intarsys.nativec.type.NativeType
      extended by de.intarsys.nativec.type.NativeStructType
All Implemented Interfaces:
INativeType

public class NativeStructType
extends NativeType

The meta class implementation


Constructor Summary
protected NativeStructType()
           
protected NativeStructType(java.lang.Class<?> instanceClass)
           
 
Method Summary
 StructMember declare(java.lang.String name, INativeType declaration)
          Declare a new member for the struct.
 int getByteBoundary()
           
 int getByteCount()
          The size of the type in c memory.
 int getByteSize()
          The total size of the StructDeclaration.
 StructMember getField(java.lang.String name)
           
 java.util.List<StructMember> getFields()
          The collection of StructMember instances in declaration order.
 int getFieldsSize()
           
 INativeObject getNativeObject(NativeStruct struct, java.lang.String name)
           
 int getPacking()
           
 int getPreferredBoundary()
          The boundary where this type as a struct member would want to be aligned.
 void setPacking(int pPacking)
           
 java.lang.String toString()
           
 
Methods inherited from class de.intarsys.nativec.type.NativeType
Array, createNative, createNative, lookup, Ref, register
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NativeStructType

protected NativeStructType()

NativeStructType

protected NativeStructType(java.lang.Class<?> instanceClass)
Method Detail

declare

public StructMember declare(java.lang.String name,
                            INativeType declaration)
Declare a new member for the struct.

Parameters:
name - The name of the new member slot.
declaration - The type declaration for the slot

getByteBoundary

public int getByteBoundary()

getByteCount

public int getByteCount()
Description copied from interface: INativeType
The size of the type in c memory.

Specified by:
getByteCount in interface INativeType
Overrides:
getByteCount in class NativeType
Returns:
The size of the type in c memory.

getByteSize

public int getByteSize()
The total size of the StructDeclaration.

Returns:
The total size of the StructDeclaration.

getField

public StructMember getField(java.lang.String name)

getFields

public java.util.List<StructMember> getFields()
The collection of StructMember instances in declaration order.

Returns:
The collection of StructMember instances in declaration order.

getFieldsSize

public int getFieldsSize()

getNativeObject

public INativeObject getNativeObject(NativeStruct struct,
                                     java.lang.String name)

getPacking

public int getPacking()

getPreferredBoundary

public int getPreferredBoundary()
Description copied from interface: INativeType
The boundary where this type as a struct member would want to be aligned. A structure can override this value with packing.

Returns:
The preferred alignment boundary.

setPacking

public void setPacking(int pPacking)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object