source: trunk/src/core/RpLibraryFInterface.h @ 2408

Last change on this file since 2408 was 2408, checked in by dkearney, 9 years ago

adding a getFile function for rappture library and fortran bindings so fortran users no longer need to know the length of a string a user provides them as input, before compile time. they can now just dump the string into a file, and read the file as they are probably already used to doing. also fixed a bug in teh Rappture::Buffer dump function where it would correctly open a file pointer, but failed the check to see if the file pointer was opened.

File size: 5.9 KB
Line 
1/*
2 * ----------------------------------------------------------------------
3 *  INTERFACE: Fortran Rappture Library Header
4 *
5 * ======================================================================
6 *  AUTHOR:  Derrick S. Kearney, Purdue University
7 *  Copyright (c) 2004-2007  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 _RAPPTURE_LIBRARY_F_H
15#define _RAPPTURE_LIBRARY_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
81int rp_lib_get_file (       int* handle,
82                            char* path,
83                            char* fileName,
84                            int path_len,
85                            int fileName_len);
86
87void rp_lib_put_str (       int* handle,
88                            char* path,
89                            char* value,
90                            int* append,
91                            int path_len,
92                            int value_len );
93
94void rp_lib_put_id_str (    int* handle,
95                            char* path,
96                            char* value,
97                            char* id,
98                            int* append,
99                            int path_len,
100                            int value_len,
101                            int id_len );
102
103void rp_lib_put_data (      int* handle,
104                            char* path,
105                            char* bytes,
106                            int* nbytes,
107                            int* append,
108                            int path_len,
109                            int bytes_len );
110
111void rp_lib_put_file (      int* handle,
112                            char* path,
113                            char* fileName,
114                            int* compress,
115                            int* append,
116                            int path_len,
117                            int fileName_len );
118
119/*
120 * rp_lib_put_obj still needs to be written
121 * keep function declaration around
122*/
123void rp_lib_put_obj (       int* handle,
124                            char* path,
125                            int* valHandle,
126                            int* append,
127                            int path_len );
128
129/*
130 * rp_lib_put_id_obj still needs to be written
131 * keep function declaration around
132void rp_lib_put_id_obj (    int* handle,
133                            char* path,
134                            int* valHandle,
135                            char* id,
136                            int* append,
137                            int path_len,
138                            int id_len );
139*/
140
141/*
142 * rp_lib_remove still needs to be written
143 * keep function declaration around
144int rp_lib_remove (         int* handle,
145                            char* path,
146                            int path_len);
147*/
148
149/*
150 * rp_lib_xml_len still needs to be written
151 * keep function declaration around
152int rp_lib_xml_len(         int* handle);
153*/
154
155void rp_lib_xml(            int* handle,
156                            char* retText,
157                            int retText_len);
158
159int rp_lib_write_xml(       int* handle,
160                            char* outFile,
161                            int outFile_len);
162
163void rp_lib_node_comp (     int* handle,
164                            char* retText,
165                            int retText_len);
166
167void rp_lib_node_type (     int* handle,
168                            char* retText,
169                            int retText_len);
170
171void rp_lib_node_id (       int* handle,
172                            char* retText,
173                            int retText_len);
174
175void rp_result(             int* handle );
176
177/**********************************************************/
178
179#ifdef __cplusplus
180    }
181#endif // ifdef __cplusplus
182
183#endif // ifndef _RAPPTURE_LIBRARY_F_H
Note: See TracBrowser for help on using the repository browser.