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.
irods_search_service_library.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 
20 #ifndef IRODS_SEARCH_SERVICE_LIBRARY_H
21 #define IRODS_SEARCH_SERVICE_LIBRARY_H
22 
23 #include "library.h"
24 #include "service.h"
25 
26 /*
27 ** Now we use the generic helper definitions above to define LIB_API and LIB_LOCAL.
28 ** LIB_API is used for the public API symbols. It either DLL imports or DLL exports
29 ** (or does nothing for static build)
30 ** LIB_LOCAL is used for non-api symbols.
31 */
32 
33 #ifdef SHARED_LIBRARY /* defined if LIB is compiled as a DLL */
34  #ifdef IRODS_SEARCH_LIBRARY_EXPORTS /* defined if we are building the LIB DLL (instead of using it) */
35  #define IRODS_SEARCH_SERVICE_API LIB_HELPER_SYMBOL_EXPORT
36  #else
37  #define IRODS_SEARCH_SERVICE_API LIB_HELPER_SYMBOL_IMPORT
38  #endif /* #ifdef IRODS_SEARCH_LIBRARY_EXPORTS */
39  #define IRODS_SEARCH_SERVICE_LOCAL LIB_HELPER_SYMBOL_LOCAL
40 #else /* SHARED_LIBRARY is not defined: this means LIB is a static lib. */
41  #define IRODS_SEARCH_SERVICE_API
42  #define IRODS_SEARCH_SERVICE_LOCAL
43 #endif /* #ifdef SHARED_LIBRARY */
44 
45 
46 #ifdef __cplusplus
47 extern "C"
48 {
49 #endif
50 
60 IRODS_SEARCH_SERVICE_API ServicesArray *GetServices (UserDetails *user_p, GrassrootsServer *grassroots_p);
61 
62 
70 
71 #ifdef __cplusplus
72 }
73 #endif
74 
75 
76 #endif /* #ifndef IRODS_SEARCH_SERVICE_LIBRARY_H */
GetServices
ServicesArray * GetServices(UserDetails *user_p, GrassrootsServer *grassroots_p)
Get the ServicesArray containing the iRODS Services.
service.h
IRODS_SEARCH_SERVICE_API
#define IRODS_SEARCH_SERVICE_API
Definition: irods_search_service_library.h:41
ServicesArray
A datatype for having a set of Services.
Definition: service.h:422
ReleaseServices
void ReleaseServices(ServicesArray *services_p)
Free the ServicesArray containing the iRODS Services.
library.h
GrassrootsServer
Definition: grassroots_server.h:45