ZOO-Project
|
#include "server_internal.h"
#include "service_internal.h"
#include "response_print.h"
#include "mimetypes.h"
#include <dlfcn.h>
#include <uuid/uuid.h>
#include <signal.h>
#include <dirent.h>
Macros | |
#define | PATHBUFSIZE 4096 |
Functions | |
int | zoo_path_compare (char *path1, char *path2) |
int | getVersionId (const char *version) |
Detect WPS version used (1.0.0 or 2.0.0). More... | |
char * | get_uuid () |
Generate a UUID. More... | |
void | parseIdentifier (maps *conf, char *conf_dir, char *identifier, char *buffer) |
Extract the service identifier from the full service identifier ie: More... | |
char | from_hex (char ch) |
Converts a hex character to its integer value. More... | |
char | to_hex (char code) |
Converts an integer value to its hec character. More... | |
char * | url_encode (char *str) |
URLEncode an url. More... | |
char * | url_decode (char *str) |
Decode an URLEncoded url. More... | |
int | isValidLang (maps *conf, const char *str) |
Verify if a given language is listed in the lang list defined in the [main] section of the main.cfg file. More... | |
char * | getEncoding (maps *m) |
Access the value of the encoding key in a maps. More... | |
char * | getVersion (maps *m) |
Access the value of the version key in a maps. More... | |
void | readGeneratedFile (maps *m, map *content, char *filename) |
Read a file generated by a service. More... | |
int | writeFile (char *fname, char *val, int length) |
Write a file from value and length. More... | |
void | dumpMapsValuesToFiles (maps **main_conf, maps **in) |
Dump all values in a maps as files. More... | |
char * | base64 (const char *input, int length) |
Base64 encoding of a char*. More... | |
char * | base64d (const char *input, int length, int *red) |
Base64 decoding of a char*. More... | |
void | readBase64 (map **in) |
Read Base64 value and split it value by lines of 64 char. More... | |
char * | addDefaultValues (maps **out, elements *in, maps *m, int type, map **err) |
Add the default values defined in the zcfg to a maps. More... | |
char * | getLastErrorMessage () |
Access the last error message returned by the OS when trying to dynamically load a shared library. More... | |
void | readFinalRes (maps *conf, char *pid, map *statusInfo) |
Read the Result file (.res). More... | |
int | isRunning (maps *conf, char *pid) |
Check if a service is running. More... | |
void | runGetStatus (maps *conf, char *pid, char *req) |
Run GetStatus requests. More... | |
void | runDismiss (maps *conf, char *pid) |
Run Dismiss requests. More... | |
int | getServiceFromFile (maps *, const char *, service **) |
Parse a ZCFG file and fill the service structure. More... | |
int | readServiceFile (maps *conf, char *file, service **service, char *name) |
Parse the service file using getServiceFromFile or use getServiceFromYAML if YAML support was activated. More... | |
int | createRegistry (maps *m, registry **r, char *reg_dir) |
Create the profile registry. More... | |
char * | produceErrorMessage (maps *pmConf) |
Create a string containing the basic error message. More... | |
Macro Definition Documentation
#define PATHBUFSIZE 4096 |
Function Documentation
Add the default values defined in the zcfg to a maps.
- Parameters
-
out the maps containing the inputs or outputs given in the initial HTTP request in the description of all inputs or outputs available for a service m the maps containing the settings of the main.cfg file type 0 for inputs and 1 for outputs err the map to store potential missing mandatory input parameters or wrong output names depending on the type.
- Returns
- "" if no error was detected, the name of last input or output causing an error.
In case of an Input maps, then add the minOccurs and maxOccurs to the content map.
Parsing BoundingBoxData, fill the following map and then add it to the content map of the Input maps: lowerCorner, upperCorner, srs and dimensions cf. parseBoundingBox
char* base64 | ( | const char * | input, |
int | length | ||
) |
Base64 encoding of a char*.
- Parameters
-
input the value to encode length the value length
- Returns
- the buffer containing the base64 value
- Warning
- make sure to free the returned value
char* base64d | ( | const char * | input, |
int | length, | ||
int * | red | ||
) |
Base64 decoding of a char*.
- Parameters
-
input the value to decode length the value length red the value length
- Returns
- the buffer containing the base64 value
- Warning
- make sure to free the returned value
Create the profile registry.
The profile registry is optional (created only if the registry key is available in the [main] section of the main.cfg file) and can be used to store the profiles hierarchy. The registry is a directory which should contain the following sub-directories:
- concept: direcotry containing .html files describing concept
- generic: directory containing .zcfg files for wps:GenericProcess
- implementation: directory containing .zcfg files for wps:Process
- Parameters
-
m the conf maps containing the main.cfg settings r the registry to update reg_dir the resgitry
- Returns
- 0 if the resgitry is null or was correctly updated, -1 on failure
Dump all values in a maps as files.
- Parameters
-
main_conf the maps containing the settings of the main.cfg file in the maps containing values to dump as files
char from_hex | ( | char | ch | ) |
Converts a hex character to its integer value.
- Parameters
-
ch the char to convert
- Returns
- the converted char
char* get_uuid | ( | ) |
Generate a UUID.
ref: https://www.ietf.org/rfc/rfc4122.txt / 4.2
- Returns
- a new char* containing the UUID, make sure to free the returned resource once used.
char* getEncoding | ( | maps * | m | ) |
Access the value of the encoding key in a maps.
- Parameters
-
m the maps to search for the encoding key
- Returns
- the value of the encoding key in a maps if encoding key exists, "UTF-8" in other case.
char* getLastErrorMessage | ( | ) |
Access the last error message returned by the OS when trying to dynamically load a shared library.
- Returns
- the last error message
- Warning
- The character string returned from getLastErrorMessage resides in a static buffer. The application should not write to this buffer or attempt to free() it.
Parse a ZCFG file and fill the service structure.
- Parameters
-
conf the conf maps containing the main.cfg settings file the fullpath to the ZCFG file service the service structure to fill
- Returns
- 0 on success, -1 on failure
char* getVersion | ( | maps * | m | ) |
Access the value of the version key in a maps.
- Parameters
-
m the maps to search for the version key
- Returns
- the value of the version key in a maps if encoding key exists, "1.0.0" in other case.
int getVersionId | ( | const char * | version | ) |
Detect WPS version used (1.0.0 or 2.0.0).
- Parameters
-
version number as char* (1.0.0 or 2.0.0)
- Returns
- 0 in case of version 1.0.0, 1 for 2.0.0, -1 in other case
int isRunning | ( | maps * | conf, |
char * | pid | ||
) |
Check if a service is running.
- Parameters
-
conf the maps containing the setting of the main.cfg file pid the unique service identifier (usid from the lenv section)
- Returns
- 1 in case the service is still running, 0 otherwise
int isValidLang | ( | maps * | conf, |
const char * | str | ||
) |
Verify if a given language is listed in the lang list defined in the [main] section of the main.cfg file.
- Parameters
-
conf the map containing the settings from the main.cfg file str the specific language
- Returns
- 1 if the specific language is listed, -1 in other case.
void parseIdentifier | ( | maps * | conf, |
char * | conf_dir, | ||
char * | identifier, | ||
char * | buffer | ||
) |
Extract the service identifier from the full service identifier ie:
- Full service name: OTB.BandMath
- Service name: BandMath
- Parameters
-
conf the maps containing the settings of the main.cfg file conf_dir the full path to the ZOO-Kernel directory identifier the full service name (potentialy including a prefix, ie: Prefix.MyService) buffer the resulting service identifier (without any prefix)
char* produceErrorMessage | ( | maps * | pmConf | ) |
Create a string containing the basic error message.
- Parameters
-
pmConf the main configuration maps pointer
- Returns
- a new char* containing the error message (ressource should be freed)
void readBase64 | ( | map ** | in | ) |
Read Base64 value and split it value by lines of 64 char.
- Parameters
-
in the map containing the value to split
Read the Result file (.res).
- Parameters
-
conf the maps containing the setting of the main.cfg file pid the service identifier (usid key from the [lenv] section)
Read a file generated by a service.
- Parameters
-
m the conf maps content the output item filename the file to read
Parse the service file using getServiceFromFile or use getServiceFromYAML if YAML support was activated.
- Parameters
-
conf the conf maps containing the main.cfg settings file the file name to parse service the service to update witht the file content name the service name
- Returns
- true if the file can be parsed or false
- See also
- getServiceFromFile, getServiceFromYAML
void runDismiss | ( | maps * | conf, |
char * | pid | ||
) |
Run Dismiss requests.
- Parameters
-
conf the maps containing the setting of the main.cfg file pid the service identifier (usid key from the [lenv] section)
void runGetStatus | ( | maps * | conf, |
char * | pid, | ||
char * | req | ||
) |
Run GetStatus requests.
- Parameters
-
conf the maps containing the setting of the main.cfg file pid the service identifier (usid key from the [lenv] section) req the request (GetStatus / GetResult)
char to_hex | ( | char | code | ) |
Converts an integer value to its hec character.
- Parameters
-
code the char to convert
- Returns
- the converted char
char* url_decode | ( | char * | str | ) |
Decode an URLEncoded url.
- Parameters
-
str the URLEncoded url to decode
- Returns
- a url-decoded version of str
- Warning
- be sure to free() the returned string after use
char* url_encode | ( | char * | str | ) |
URLEncode an url.
- Parameters
-
str the url to encode
- Returns
- a url-encoded version of str
- Warning
- be sure to free() the returned string after use
int writeFile | ( | char * | fname, |
char * | val, | ||
int | length | ||
) |
Write a file from value and length.
- Parameters
-
fname the file name val the value length the value length
int zoo_path_compare | ( | char * | path1, |
char * | path2 | ||
) |
Generated on Wed Feb 5 2025 12:00:16 for ZOO-Project by 1.8.9.1