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 MonoCustomAttrInfo extends com.ochafik.lang.jnaerator.runtime.Structure<MonoCustomAttrInfo, MonoCustomAttrInfo.ByValue, MonoCustomAttrInfo.ByReference> {
	public int num_attrs;
	public int cached;
	/// C type : MonoImage*
	public com.nativelibs4java.mono.library.MonoLibrary.MonoImage image;
	/// C type : MonoCustomAttrEntry[1]
	public com.nativelibs4java.mono.library.MonoCustomAttrEntry[] attrs = new com.nativelibs4java.mono.library.MonoCustomAttrEntry[(1)];
	public MonoCustomAttrInfo() {
		super();
	}
	/**
	 * @param image C type : MonoImage*<br>
	 * @param attrs C type : MonoCustomAttrEntry[1]
	 */
	public MonoCustomAttrInfo(int num_attrs, int cached, com.nativelibs4java.mono.library.MonoLibrary.MonoImage image, com.nativelibs4java.mono.library.MonoCustomAttrEntry attrs[]) {
		super();
		this.num_attrs = num_attrs;
		this.cached = cached;
		this.image = image;
		if (attrs.length != this.attrs.length) 
			throw new java.lang.IllegalArgumentException("Wrong array size !");
		this.attrs = attrs;
	}
	protected ByReference newByReference() { return new ByReference(); }
	protected ByValue newByValue() { return new ByValue(); }
	protected MonoCustomAttrInfo newInstance() { return new MonoCustomAttrInfo(); }
	public static MonoCustomAttrInfo[] newArray(int arrayLength) {
		return com.ochafik.lang.jnaerator.runtime.Structure.newArray(MonoCustomAttrInfo.class, arrayLength);
	}
	public static class ByReference extends MonoCustomAttrInfo implements com.sun.jna.Structure.ByReference {}
	public static class ByValue extends MonoCustomAttrInfo implements com.sun.jna.Structure.ByValue {}
}
