// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !

package sun.awt.X11;

import sun.misc.*;

import java.util.logging.*;
public class XIMStringConversionCallbackStruct extends XWrapperBase { 
	private Unsafe unsafe = XlibWrapper.unsafe; 
	private final boolean should_free_memory;
	public static int getSize() { return ((XlibWrapper.dataModel == 32)?(16):(24)); }
	public int getDataSize() { return getSize(); }

	long pData;

	public long getPData() { return pData; }


	public XIMStringConversionCallbackStruct(long addr) {
		log.finest("Creating");
		pData=addr;
		should_free_memory = false;
	}


	public XIMStringConversionCallbackStruct() {
		log.finest("Creating");
		pData = unsafe.allocateMemory(getSize());
		should_free_memory = true;
	}


	public void dispose() {
		log.finest("Disposing");
		if (should_free_memory) {
			log.finest("freeing memory");
			unsafe.freeMemory(pData); 
	}
		}
	public short get_position() { log.finest("");return (Native.getShort(pData+0)); }
	public void set_position(short v) { log.finest(""); Native.putShort(pData+0, v); }
	public int get_direction() { log.finest("");return (Native.getInt(pData+4)); }
	public void set_direction(int v) { log.finest(""); Native.putInt(pData+4, v); }
	public short get_operation() { log.finest("");return (Native.getShort(pData+8)); }
	public void set_operation(short v) { log.finest(""); Native.putShort(pData+8, v); }
	public short get_factor() { log.finest("");return (Native.getShort(pData+10)); }
	public void set_factor(short v) { log.finest(""); Native.putShort(pData+10, v); }
	public XIMStringConversionText get_text(int index) { log.finest(""); return (Native.getLong(pData+((XlibWrapper.dataModel == 32)?(12):(16))) != 0)?(new XIMStringConversionText(Native.getLong(pData+((XlibWrapper.dataModel == 32)?(12):(16)))+index*((XlibWrapper.dataModel == 32)?(16):(32)))):(null); }
	public long get_text() { log.finest("");return Native.getLong(pData+((XlibWrapper.dataModel == 32)?(12):(16))); }
	public void set_text(long v) { log.finest(""); Native.putLong(pData + ((XlibWrapper.dataModel == 32)?(12):(16)), v); }


	String getName() {
		return "XIMStringConversionCallbackStruct"; 
	}


	String getFieldsAsString() {
		String ret="";

		ret += ""+"position = " + get_position() +", ";
		ret += ""+"direction = " + get_direction() +", ";
		ret += ""+"operation = " + get_operation() +", ";
		ret += ""+"factor = " + get_factor() +", ";
		ret += ""+"text = " + get_text() +", ";
		return ret;
	}


}



