Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
file_streamer.h
Go to the documentation of this file.
1 /*
2 ** Copyright 2014-2016 The Earlham Institute
3 **
4 ** Licensed under the Apache License, Version 2.0 (the "License");
5 ** you may not use this file except in compliance with the License.
6 ** You may obtain a copy of the License at
7 **
8 ** http://www.apache.org/licenses/LICENSE-2.0
9 **
10 ** Unless required by applicable law or agreed to in writing, software
11 ** distributed under the License is distributed on an "AS IS" BASIS,
12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ** See the License for the specific language governing permissions and
14 ** limitations under the License.
15 */
16 
21 #ifndef FILE_STREAMER_H
22 #define FILE_STREAMER_H
23 
24 //#include "configuration_manager.h"
25 #include "streamer.h"
26 #include "library.h"
27 
28 #ifdef __cplusplus
29  extern "C" {
30 #endif
31 
32 
33 /*
34 ** Now we use the generic helper definitions above to define LIB_API and LIB_LOCAL.
35 ** LIB_API is used for the public API symbols. It either DLL imports or DLL exports
36 ** (or does nothing for static build)
37 ** LIB_LOCAL is used for non-api symbols.
38 */
39 
40 
41 #ifdef SHARED_LIBRARY /* defined if LIB is compiled as a DLL */
42  #ifdef FILE_STREAMER_EXPORTS /* defined if we are building the LIB DLL (instead of using it) */
43  #define FILE_STREAMER_API LIB_HELPER_SYMBOL_EXPORT
44  #else
45  #define FILE_STREAMER_API LIB_HELPER_SYMBOL_IMPORT
46  #endif /* #ifdef FILE_STREAMER_EXPORTS */
47  #define FILE_STREAMER_LOCAL LIB_HELPER_SYMBOL_LOCAL
48 #else /* SHARED_LIBRARY is not defined: this means LIB is a static lib. */
49  #define FILE_STREAMER_API
50  #define FILE_STREAMER_LOCAL
51 #endif /* #ifdef SHARED_LIBRARY */
52 
53 
63 FILE_STREAMER_API OutputStreamerModule *AllocateStreamer (const ConfigurationManager * const config_manager_p);
64 
72 FILE_STREAMER_API void DeallocateStreamer (OutputStreamerModule *streamer_p);
73 
74 
75 #ifdef __cplusplus
76 }
77 #endif
78 
79 
80 #endif /* FILE_STREAMER_H */
81 
FILE_STREAMER_API
#define FILE_STREAMER_API
Definition: file_streamer.h:49
DeallocateStreamer
void DeallocateStreamer(OutputStreamerModule *streamer_p)
Free an OutputStreamerModule.
library.h
AllocateStreamer
OutputStreamerModule * AllocateStreamer(const ConfigurationManager *const config_manager_p)
Allocate an OutputStreamerModule for writing log and error messages to named output files.