GlueGen v2.6.0-rc-20250712
GlueGen, Native Binding Generator for Java™ (public API).
GenericCPP.java
Go to the documentation of this file.
1/**
2 * Copyright 2015 JogAmp Community. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without modification, are
5 * permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice, this list of
8 * conditions and the following disclaimer.
9 *
10 * 2. Redistributions in binary form must reproduce the above copyright notice, this list
11 * of conditions and the following disclaimer in the documentation and/or other materials
12 * provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
15 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
21 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
22 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 *
24 * The views and conclusions contained in the software and documentation are those of the
25 * authors and should not be interpreted as representing official policies, either expressed
26 * or implied, of JogAmp Community.
27 */
28package com.jogamp.gluegen;
29
30import java.io.OutputStream;
31import java.io.Reader;
32import java.util.List;
33
34import com.jogamp.gluegen.jcpp.LexerException;
35
36/**
37 * Generic C preprocessor interface for GlueGen
38 */
39public interface GenericCPP {
40
41 public void addDefine(String name, String value) throws LexerException;
42
43 public String findFile(String filename);
44
45 public OutputStream out();
46 public void setOut(OutputStream out);
47
48 public void run(Reader reader, String filename) throws GlueGenException;
49
50 /**
51 * Returns a list of {@link ConstantDefinition}, i.e.
52 * <i>non-function-like</i> and <i>non-empty</i> macros w/ <i>constant-value</i>,
53 * as derived during parsing.
54 * <p>
55 * May return an empty list, in case this preprocessor does not
56 * store {@link ConstantDefinition}s.
57 * </p>
58 * @throws GlueGenException
59 */
60 public List<ConstantDefinition> getConstantDefinitions() throws GlueGenException;
61
62
63}
A generic exception for Jogamp errors used throughout the binding as a substitute for RuntimeExceptio...
Generic C preprocessor interface for GlueGen.
Definition: GenericCPP.java:39
String findFile(String filename)
List< ConstantDefinition > getConstantDefinitions()
Returns a list of ConstantDefinition, i.e.
void setOut(OutputStream out)
void addDefine(String name, String value)
void run(Reader reader, String filename)