001/*******************************************************************************
002 * Copyright (C) 2009-2011 FuseSource Corp.
003 * 
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 *******************************************************************************/
009package org.fusesource.hawtjni.runtime;
010
011import java.lang.annotation.Retention;
012import java.lang.annotation.RetentionPolicy;
013import java.lang.annotation.Target;
014
015import static java.lang.annotation.ElementType.*;
016
017/**
018 * 
019 * @author <a href="http://hiramchirino.com">Hiram Chirino</a>
020 */
021@Target({METHOD})
022@Retention(RetentionPolicy.RUNTIME)
023public @interface JniMethod {
024    
025    String cast() default "";
026//    Pointer pointer() default Pointer.DETERMINE_FROM_CAST;
027    String accessor() default "";
028    MethodFlag[] flags() default {};
029    String copy() default "";
030    String conditional() default "";
031    
032    JniArg[] callbackArgs() default {};
033}