package com.nativelibs4java.mono.library;
/**
 * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
 * a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
 * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a>, <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
 */
public class MonoTypeNameParse extends com.ochafik.lang.jnaerator.runtime.Structure<MonoTypeNameParse, MonoTypeNameParse.ByValue, MonoTypeNameParse.ByReference> {
	/// C type : char*
	public com.sun.jna.Pointer name_space;
	/// C type : char*
	public com.sun.jna.Pointer name;
	/// C type : MonoAssemblyName
	public com.nativelibs4java.mono.library.MonoAssemblyName assembly;
	/**
	 * 0 -> byref, -1 -> pointer, > 0 -> array rank<br>
	 * C type : GList*
	 */
	public com.nativelibs4java.mono.library.MonoLibrary.GList modifiers;
	/// C type : GPtrArray*
	public com.nativelibs4java.mono.library.MonoLibrary.GPtrArray type_arguments;
	/// C type : GList*
	public com.nativelibs4java.mono.library.MonoLibrary.GList nested;
	public MonoTypeNameParse() {
		super();
	}
	/**
	 * @param name_space C type : char*<br>
	 * @param name C type : char*<br>
	 * @param assembly C type : MonoAssemblyName<br>
	 * @param modifiers 0 -> byref, -1 -> pointer, > 0 -> array rank<br>
	 * C type : GList*<br>
	 * @param type_arguments C type : GPtrArray*<br>
	 * @param nested C type : GList*
	 */
	public MonoTypeNameParse(com.sun.jna.Pointer name_space, com.sun.jna.Pointer name, com.nativelibs4java.mono.library.MonoAssemblyName assembly, com.nativelibs4java.mono.library.MonoLibrary.GList modifiers, com.nativelibs4java.mono.library.MonoLibrary.GPtrArray type_arguments, com.nativelibs4java.mono.library.MonoLibrary.GList nested) {
		super();
		this.name_space = name_space;
		this.name = name;
		this.assembly = assembly;
		this.modifiers = modifiers;
		this.type_arguments = type_arguments;
		this.nested = nested;
	}
	protected ByReference newByReference() { return new ByReference(); }
	protected ByValue newByValue() { return new ByValue(); }
	protected MonoTypeNameParse newInstance() { return new MonoTypeNameParse(); }
	public static MonoTypeNameParse[] newArray(int arrayLength) {
		return com.ochafik.lang.jnaerator.runtime.Structure.newArray(MonoTypeNameParse.class, arrayLength);
	}
	public static class ByReference extends MonoTypeNameParse implements com.sun.jna.Structure.ByReference {}
	public static class ByValue extends MonoTypeNameParse implements com.sun.jna.Structure.ByValue {}
}
