Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
tpia_map.h
Go to the documentation of this file.
1 /*
2 # <<BEGIN-copyright>>
3 # Copyright (c) 2010, Lawrence Livermore National Security, LLC.
4 # Produced at the Lawrence Livermore National Laboratory
5 # Written by Bret R. Beck, beck6@llnl.gov.
6 # CODE-461393
7 # All rights reserved.
8 #
9 # This file is part of GIDI. For details, see nuclear.llnl.gov.
10 # Please also read the "Additional BSD Notice" at nuclear.llnl.gov.
11 #
12 # Redistribution and use in source and binary forms, with or without modification,
13 # are permitted provided that the following conditions are met:
14 #
15 # 1) Redistributions of source code must retain the above copyright notice,
16 # this list of conditions and the disclaimer below.
17 # 2) Redistributions in binary form must reproduce the above copyright notice,
18 # this list of conditions and the disclaimer (as noted below) in the
19 # documentation and/or other materials provided with the distribution.
20 # 3) Neither the name of the LLNS/LLNL nor the names of its contributors may be
21 # used to endorse or promote products derived from this software without
22 # specific prior written permission.
23 #
24 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
25 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
26 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
27 # SHALL LAWRENCE LIVERMORE NATIONAL SECURITY, LLC, THE U.S. DEPARTMENT OF ENERGY OR
28 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
31 # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
33 # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 # <<END-copyright>>
35 */
36 #ifndef tpia_map_h_included
37 #define tpia_map_h_included
38 
39 #if defined __cplusplus
40  extern "C" {
41 #endif
42 
43 #include <xData.h>
44 
45 #if defined __cplusplus
46  namespace GIDI {
47 #endif
48 
52 
53 typedef struct tpia_map_s tpia_map;
56 
60 };
61 
64  enum tpia_mapEntry_type type;
65  char *schema;
66  char *path;
67  char *evaluation;
68  char *projectile;
69  char *targetName;
71 };
72 
73 struct tpia_map_s {
76  char *path;
77  char *mapFileName;
80 };
81 
84 tpia_map *tpia_map_readFile( statusMessageReporting *smr, const char *basePath, const char *mapFileName );
89 int tpia_map_addTarget( statusMessageReporting *smr, tpia_map *map, const char *method, const char *path, const char *evaluation, const char *projectile, const char *targetName );
90 int tpia_map_addPath( statusMessageReporting *smr, tpia_map *map, const char *path, const char *projectile );
91 char *tpia_map_findTarget( statusMessageReporting *smr, tpia_map *map, const char *evaluation, const char *projectile, const char *targetName );
92 tpia_map *tpia_map_findAllOfTarget( statusMessageReporting *smr, tpia_map *map, const char *projectile, const char *targetName );
93 char *tpia_map_getFullPath( statusMessageReporting *smr, tpia_map *map, const char *endPath );
94 int tpia_map_walkTree( statusMessageReporting *smr, tpia_map *map, int (*handler)( tpia_mapEntry *entry, int level, void *userData), void *userData );
96 void tpia_map_simpleWrite( FILE *f, tpia_map *map );
97 
98 #if defined __cplusplus
99  }
100  }
101 #endif
102 
103 #endif /* End of tpia_map_h_included. */
int tpia_map_addPath(statusMessageReporting *smr, tpia_map *map, const char *path, const char *projectile)
Definition: tpia_map.cc:236
char * mapFileName
Definition: tpia_map.h:77
tpia_map_smr smrUserInterface
Definition: tpia_map.h:75
tpia_map * tpia_map_readFile(statusMessageReporting *smr, const char *basePath, const char *mapFileName)
Definition: tpia_map.cc:88
tpia_mapEntry * next
Definition: tpia_map.h:63
int tpia_map_walkTree(statusMessageReporting *smr, tpia_map *map, int(*handler)(tpia_mapEntry *entry, int level, void *userData), void *userData)
Definition: tpia_map.cc:457
char * tpia_map_toXMLString(statusMessageReporting *smr, tpia_map *map)
Definition: tpia_map.cc:478
tpia_mapEntry * tpia_map_getFirstEntry(tpia_map *map)
Definition: tpia_map.cc:215
char * schema
Definition: tpia_map.h:65
void tpia_map_simpleWrite(FILE *f, tpia_map *map)
Definition: tpia_map.cc:527
char * tpia_map_getFullPath(statusMessageReporting *smr, tpia_map *map, const char *endPath)
Definition: tpia_map.cc:437
#define userData
Definition: xmlparse.cc:555
int tpia_map_addTarget(statusMessageReporting *smr, tpia_map *map, const char *method, const char *path, const char *evaluation, const char *projectile, const char *targetName)
Definition: tpia_map.cc:229
tpia_map * tpia_map_create(statusMessageReporting *smr)
Definition: tpia_map.cc:59
tpia_map * tpia_map_findAllOfTarget(statusMessageReporting *smr, tpia_map *map, const char *projectile, const char *targetName)
Definition: tpia_map.cc:393
void tpia_map_release(statusMessageReporting *smr, tpia_map *map)
Definition: tpia_map.cc:193
char * targetName
Definition: tpia_map.h:69
tpia_mapEntry_type
Definition: tpia_map.h:51
tpia_map * map
Definition: tpia_map.h:70
void * tpia_map_free(statusMessageReporting *smr, tpia_map *map)
Definition: tpia_map.cc:184
tpia_map_status
Definition: tpia_map.h:49
char * projectile
Definition: tpia_map.h:68
int status
Definition: tracer.cxx:24
int tpia_map_initialize(statusMessageReporting *smr, tpia_map *map)
Definition: tpia_map.cc:73
char * evaluation
Definition: tpia_map.h:67
char * path
Definition: tpia_map.h:66
int numberOfEntries
Definition: tpia_map.h:78
tpia_mapEntry * mapEntries
Definition: tpia_map.h:79
char * path
Definition: tpia_map.h:76
tpia_mapEntry * tpia_map_getNextEntry(tpia_mapEntry *entry)
Definition: tpia_map.cc:222
tpia_map * map
Definition: tpia_map.h:59
smr_userInterface smrUserInterface
Definition: tpia_map.h:58
Definition: tpia_map.h:62
char * tpia_map_findTarget(statusMessageReporting *smr, tpia_map *map, const char *evaluation, const char *projectile, const char *targetName)
Definition: tpia_map.cc:327
int(* smr_userInterface)(void *userData, char **smr)