001 /*******************************************************************************
002 * Copyright (c) 2009 Progress Software, Inc.
003 * Copyright (c) 2004, 2008 IBM Corporation and others.
004 *
005 * All rights reserved. This program and the accompanying materials
006 * are made available under the terms of the Eclipse Public License v1.0
007 * which accompanies this distribution, and is available at
008 * http://www.eclipse.org/legal/epl-v10.html
009 *******************************************************************************/
010 package org.fusesource.hawtjni.runtime;
011
012 /**
013 *
014 * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
015 */
016 public enum ClassFlag {
017 /**
018 * Indicate that the item should not be generated. For example,
019 * custom natives are coded by hand.
020 */
021 CLASS_SKIP,
022
023 /**
024 * Indicate that the platform source is in C++
025 */
026 CPP,
027
028 /**
029 * Indicate that this class will define a structure
030 */
031 STRUCT,
032
033 /**
034 * Indicate that structure name is a typedef (It should
035 * not be prefixed with 'struct' to reference it.)
036 */
037 TYPEDEF,
038
039 /**
040 * Indicate that the struct should get zeroed out before
041 * setting any of it's fields. Comes in handy when
042 * you don't map all the struct fields to java fields but
043 * still want the fields that are not mapped initialized.
044 */
045 ZERO_OUT,
046 }