GlueGen v2.6.0-rc-20250712
GlueGen, Native Binding Generator for Java™ (public API).
CStruct.java
Go to the documentation of this file.
1/*
2 * Copyright (c) 2010, Michael Bien. All rights reserved.
3 * Copyright (c) 2013 JogAmp Community. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of Michael Bien nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL Michael Bien BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28package com.jogamp.gluegen.structgen;
29
30import java.lang.annotation.ElementType;
31import java.lang.annotation.Retention;
32import java.lang.annotation.RetentionPolicy;
33import java.lang.annotation.Target;
34
35/**
36 * @author Michael Bien, et al.
37 */
38@Target(value = {ElementType.TYPE, ElementType.PACKAGE, ElementType.FIELD, ElementType.LOCAL_VARIABLE})
39@Retention(value = RetentionPolicy.SOURCE)
40public @interface CStruct {
41
42 /**
43 * Relative path to the header file.
44 * <p>
45 * Mandatory.
46 * </p>
47 */
48 String header();
49
50 /**
51 * The name of the struct.
52 * <p>
53 * Mandatory for {@link ElementType.TYPE} and {@link ElementType.PACKAGE} annotations
54 * otherwise optional.
55 * </p>
56 */
57 String name() default "_default_";
58
59 /**
60 * The optional java name of the struct.
61 */
62 String jname() default "_default_";
63
64}
String name() default "_default_"
The name of the struct.
String header()
Relative path to the header file.