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 }