source: trunk/src/fortran/RpLibraryFInterface.h @ 554

Last change on this file since 554 was 554, checked in by dkearney, 16 years ago

adjusted units code removing const ints in favor of enum values
adjusted library code to include enum values
added time stamp abilities to rappture library's result function
added cplusplus define checks to header files for c and fortran bindings so people can compile with rappture.h

File size: 5.1 KB
Line 
1/*
2 * ----------------------------------------------------------------------
3 *  INTERFACE: Fortran Rappture Library Header
4 *
5 * ======================================================================
6 *  AUTHOR:  Derrick S. Kearney, Purdue University
7 *  Copyright (c) 2004-2005  Purdue Research Foundation
8 *
9 *  See the file "license.terms" for information on usage and
10 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
11 * ======================================================================
12 */
13
14#ifndef _RpLIBRARY_F_H
15#define _RpLIBRARY_F_H
16
17#ifdef __cplusplus
18    #include "RpLibrary.h"
19    #include <string.h>
20    #include <fstream>
21    #include "RpFortranCommon.h"
22    #include "RpLibraryFStubs.h"
23
24    extern "C" {
25#endif // ifdef __cplusplus
26
27int rp_lib ( const char* filePath, int filePath_len );
28
29void rp_lib_element_comp (  int* handle,
30                            char* path,
31                            char* retText,
32                            int path_len,
33                            int retText_len );
34
35void rp_lib_element_id (    int* handle,
36                            char* path,
37                            char* retText,
38                            int path_len,
39                            int retText_len );
40
41void rp_lib_element_type (  int* handle,
42                            char* path,
43                            char* retText,
44                            int path_len,
45                            int retText_len );
46
47int rp_lib_element_obj (    int* handle,
48                            char* path,
49                            int path_len );
50
51int rp_lib_children (       int* handle, /* integer handle of library */
52                            char* path, /* search path of the xml */
53                            int* childHandle, /*int handle of last returned child*/
54                            int path_len  /*length of the search path buffer*/
55                    );
56
57void rp_lib_get (           int* handle,
58                            char* path,
59                            char* retText,
60                            int path_len,
61                            int retText_len );
62
63void rp_lib_get_str (       int* handle,
64                            char* path,
65                            char* retText,
66                            int path_len,
67                            int retText_len );
68
69double rp_lib_get_double (  int* handle,
70                            char* path,
71                            int path_len);
72
73int rp_lib_get_integer (    int* handle,
74                            char* path,
75                            int path_len);
76
77int rp_lib_get_boolean (    int* handle,
78                            char* path,
79                            int path_len);
80
81void rp_lib_put_str (       int* handle,
82                            char* path,
83                            char* value,
84                            int* append,
85                            int path_len,
86                            int value_len );
87
88void rp_lib_put_id_str (    int* handle,
89                            char* path,
90                            char* value,
91                            char* id,
92                            int* append,
93                            int path_len,
94                            int value_len,
95                            int id_len );
96
97/*
98 * rp_lib_put_obj still needs to be written
99 * keep function declaration around
100void rp_lib_put_obj (       int* handle,
101                            char* path,
102                            int* valHandle,
103                            int* append,
104                            int path_len );
105*/
106
107/*
108 * rp_lib_put_id_obj still needs to be written
109 * keep function declaration around
110void rp_lib_put_id_obj (    int* handle,
111                            char* path,
112                            int* valHandle,
113                            char* id,
114                            int* append,
115                            int path_len,
116                            int id_len );
117*/
118
119/*
120 * rp_lib_remove still needs to be written
121 * keep function declaration around
122int rp_lib_remove (         int* handle,
123                            char* path,
124                            int path_len);
125*/
126
127/*
128 * rp_lib_xml_len still needs to be written
129 * keep function declaration around
130int rp_lib_xml_len(         int* handle);
131*/
132
133void rp_lib_xml(            int* handle,
134                            char* retText,
135                            int retText_len);
136
137int rp_lib_write_xml(       int* handle,
138                            char* outFile,
139                            int outFile_len);
140
141void rp_lib_node_comp (     int* handle,
142                            char* retText,
143                            int retText_len);
144
145void rp_lib_node_type (     int* handle,
146                            char* retText,
147                            int retText_len);
148
149void rp_lib_node_id (       int* handle,
150                            char* retText,
151                            int retText_len);
152
153void rp_result(             int* handle );
154
155/**********************************************************/
156
157#ifdef __cplusplus
158    }
159#endif // ifdef __cplusplus
160
161#endif // ifndef _RpLIBRARY_F_H
Note: See TracBrowser for help on using the repository browser.