ZOO-Project
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
service.h File Reference
#include "version.h"
#include <sys/time.h>
#include <stdbool.h>
#include <sys/stat.h>
#include "unistd.h"
#include <stdlib.h>
#include <stdarg.h>
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#include "time.h"

Go to the source code of this file.

Data Structures

struct  map
 KVP linked list. More...
 
struct  maps
 linked list of map pointer More...
 
struct  iotype
 Not named linked list. More...
 
struct  elements
 Metadata information about input or output. More...
 
struct  service
 Metadata information about a full Service. More...
 
struct  services
 Services chained list. More...
 
struct  registry
 Profile registry. More...
 

Macros

#define ZOO_DLL_EXPORT
 
#define zDateFormat   "%Y-%m-%dT%H:%M:%SZ"
 
#define zLogDateFormat   "%Y-%m-%d %H:%M:%S"
 
#define __bool_true_false_are_defined   1
 
#define zStrdup   strdup
 The crossplatform strdup alias. More...
 
#define zOpen   open
 The crossplatform open alias. More...
 
#define zClose   close
 The crossplatform close alias. More...
 
#define zUnlink   unlink
 The crossplatform unlink alias. More...
 
#define zDup   dup
 The crossplatform dup alias. More...
 
#define zDup2   dup2
 The crossplatform dup2 alias. More...
 
#define zWrite   write
 The crossplatform write alias. More...
 
#define zGettimeofday   gettimeofday
 The crossplatform gettimeofday alias. More...
 
#define ztimeval   timeval
 The crossplatform timeval alias. More...
 
#define zGetpid   getpid
 The crossplatform getpid alias. More...
 
#define zStatStruct   struct stat64
 
#define zStat   stat64
 
#define zGetCwd   getcwd
 
#define SERVICE_ACCEPTED   0
 The global accepted status for a service. More...
 
#define SERVICE_STARTED   1
 The global started status for a service. More...
 
#define SERVICE_PAUSED   2
 The global paused status for a service. More...
 
#define SERVICE_SUCCEEDED   3
 The global succeeded status for a service. More...
 
#define SERVICE_FAILED   4
 The global failed status for a service. More...
 
#define SERVICE_DISMISSED   5
 The global dismissed status for a service. More...
 
#define SERVICE_DEPLOYED   6
 The global deployed status for a service. More...
 
#define SERVICE_UNDEPLOYED   7
 The global undelployed status for a service. More...
 
#define TIME_SIZE   40
 The time size, used to create a buffer for time string. More...
 
#define ZOO_DEBUG_LEVEL_TRACE   0
 The global debug level: DEBUG. More...
 
#define ZOO_DEBUG_LEVEL_DEBUG   1
 The global debug level: DEBUG. More...
 
#define ZOO_DEBUG_LEVEL_INFO   2
 The global debug level: INFO. More...
 
#define ZOO_DEBUG_LEVEL_SUCCESS   3
 The global debug level: WARN. More...
 
#define ZOO_DEBUG_LEVEL_WARNING   4
 The global debug level: WARN. More...
 
#define ZOO_DEBUG_LEVEL_ERROR   5
 The global debug level: ERROR. More...
 
#define ZOO_DEBUG_LEVEL_FATAL   6
 The global debug level: FATAL. More...
 
#define ZOO_DEBUG(message)   _ZOO_DEBUG(message,__FILE__,__func__,__LINE__)
 The _ZOO_DEBUG macro print a message with date time, process id (UNIX pid), file name, function name, and line number. More...
 
#define ZOO_COLOR_START   "\e[0;"
 The ZOO_COLOR_* variables are used to create colored output in the console. More...
 
#define ZOO_COLOR_START_BOLD   "\e[1;"
 The ZOO_COLOR_START_BOLD is used to start the color formatting with bold text. More...
 
#define ZOO_COLOR_STANDARD   "3"
 The ZOO_COLOR_STANDARD is used to set the color intensity to standard. More...
 
#define ZOO_COLOR_HIGH_INTENSITY   "9"
 The ZOO_COLOR_HIGH_INTENSITY is used to set the color intensity to high. More...
 
#define ZOO_COLOR_BLACK   "0m"
 
#define ZOO_COLOR_RED   "1m"
 
#define ZOO_COLOR_GREEN   "2m"
 
#define ZOO_COLOR_YELLOW   "3m"
 
#define ZOO_COLOR_BLUE   "4m"
 
#define ZOO_COLOR_MAGENTA   "5m"
 
#define ZOO_COLOR_CYAN   "6m"
 
#define ZOO_COLOR_WHITE   "7m"
 
#define ZOO_COLOR_START_BACKGROUND   "\e[4"
 
#define ZOO_COLOR_START_BACKGROUND_HIGH_INTENSITY   "\e[0;10"
 
#define ZOO_COLOR_RESET   "\e[0m"
 
#define _ZOO_DEBUG(message, pccFile, pccFunc, iLine)
 The ZOO_DEBUG macro print a message with date time, process id (UNIX pid), file name, function name, and line number. More...
 
#define ELEMENTS_SIZE   (sizeof(char*)+(((2*sizeof(char*))+sizeof(maps*))*3)+sizeof(char*)+((sizeof(map*) + sizeof(iotype*))*2)+(2*sizeof(elements*)))
 The memory size to create an elements. More...
 
#define MAP_SIZE   (2*sizeof(char*))+sizeof(map*)
 The memory size to create a map. More...
 
#define IOTYPE_SIZE   sizeof(map*) + sizeof(iotype*)
 The memory size to create an iotype. More...
 
#define MAPS_SIZE   sizeof(char*)+sizeof(map*)+(2*sizeof(maps*))
 The memory size to create a maps. More...
 
#define SERVICE_SIZE   sizeof(char*) + 3*sizeof(map*) + 2*sizeof(elements*)
 The memory size to create a service. More...
 
#define SERVICES_SIZE   sizeof(service*)+sizeof(services*)
 The memory size to create a services. More...
 
#define REGISTRY_SIZE   sizeof(char*)+sizeof(services*)+sizeof(registry*)
 The memory size to create a registry. More...
 
#define SHMSZ   27
 
#define NULLMAP   NULL
 
#define zooLogMsg(file, message)   logMessage(__FILE__, __func__, __LINE__, (file), (message))
 
#define zooLog   logMessage(__FILE__, __func__, __LINE__)
 

Typedefs

typedef struct map map
 KVP linked list. More...
 
typedef struct maps maps
 linked list of map pointer More...
 
typedef struct iotype iotype
 Not named linked list. More...
 
typedef struct elements elements
 Metadata information about input or output. More...
 
typedef struct service service
 Metadata information about a full Service. More...
 
typedef struct services services
 Services chained list. More...
 
typedef struct registry registry
 Profile registry. More...
 

Enumerations

enum  WPSException {
  StatusOK, MissingParameterValue, InvalidParameterValue, NoApplicableCode,
  NotEnoughStorage, ServerBusy, FileSizeExceeded, StorageNotSupported,
  VersionNegotiationFailed, NoSuchProcess, NoSuchMode, NoSuchInput,
  NoSuchOutput, DataNotAccessible, SizeExceeded, TooManyInputs,
  TooManyOutputs, NoSuchFormat, WrongInputData, InternalServerError,
  NoSuchJob, ResultNotReady
}
 

Functions

static int zMkdir (const char *pccPath)
 The crossplatform mkdir alias. More...
 
static int zSleep (const long millisecond)
 The crossplatform sleep alias. More...
 
ZOO_DLL_EXPORT int zooDebugPrint (const char *format,...)
 
ZOO_DLL_EXPORT void _dumpMap (map *)
 Dump a map on stderr. More...
 
ZOO_DLL_EXPORT void dumpMap (map *)
 Dump a map on stderr, see _dumpMap() More...
 
ZOO_DLL_EXPORT void dumpMaps (maps *m)
 Dump a maps on stderr, see dumpMap(). More...
 
ZOO_DLL_EXPORT void dumpMapToFile (map *, FILE *)
 Dump a map to a file. More...
 
ZOO_DLL_EXPORT void dumpMapsToFile (maps *, char *, int)
 Dump a maps to a file, see _dumpMapsToFile(). More...
 
ZOO_DLL_EXPORT mapcreateMap (const char *, const char *)
 Create a new map. More...
 
ZOO_DLL_EXPORT mapscreateMaps (const char *)
 Create a new maps with the given name. More...
 
ZOO_DLL_EXPORT int count (map *)
 Count number of map in a map. More...
 
ZOO_DLL_EXPORT int countMaps (maps *)
 Count number of maps in a maps. More...
 
ZOO_DLL_EXPORT int countMapName (map *, const char *)
 Count number of a specific map in a map. More...
 
ZOO_DLL_EXPORT int countMapNameValue (map *, const char *)
 Count number of a specific map value in a map. More...
 
ZOO_DLL_EXPORT bool hasKey (map *, const char *)
 Verify if a key exist in a map. More...
 
ZOO_DLL_EXPORT mapsgetMaps (maps *, const char *)
 Access a specific maps. More...
 
ZOO_DLL_EXPORT mapgetMap (map *, const char *)
 Access a specific map. More...
 
ZOO_DLL_EXPORT mapgetLastMap (map *)
 Access the last map. More...
 
ZOO_DLL_EXPORT mapgetMapFromMaps (maps *, const char *, const char *)
 Access a specific map from a maps. More...
 
ZOO_DLL_EXPORT void freeMap (map **)
 Free allocated memory of a map. More...
 
ZOO_DLL_EXPORT void freeMaps (maps **mo)
 Free allocated memory of a maps. More...
 
ZOO_DLL_EXPORT iotypecreateIoType ()
 Create a new iotype*. More...
 
ZOO_DLL_EXPORT elementscreateEmptyElements ()
 Create an empty elements. More...
 
ZOO_DLL_EXPORT elementscreateElements (const char *)
 Create a named elements. More...
 
ZOO_DLL_EXPORT void setElementsName (elements **, char *)
 Set the name of an elements. More...
 
ZOO_DLL_EXPORT bool hasElement (elements *, const char *)
 Verify if an elements contains a name equal to the given key. More...
 
ZOO_DLL_EXPORT elementsgetElements (elements *, const char *)
 Access a specific elements named key. More...
 
ZOO_DLL_EXPORT void freeIOType (iotype **)
 Free allocated memory of an iotype. More...
 
ZOO_DLL_EXPORT void freeElements (elements **)
 Free allocated memory of an elements. More...
 
ZOO_DLL_EXPORT void setServiceName (service **, char *)
 Set the name of a service. More...
 
ZOO_DLL_EXPORT servicecreateService ()
 Allocate memory for a service. More...
 
ZOO_DLL_EXPORT void freeService (service **)
 Free allocated memory of a service. More...
 
ZOO_DLL_EXPORT void addToMap (map *, const char *, const char *)
 Add key value pair to an existing map. More...
 
ZOO_DLL_EXPORT void addToMapA (map *, const char *, const char *)
 Add key value pair to an existing map or append the value. More...
 
ZOO_DLL_EXPORT void addIntToMap (map *, const char *, const int)
 Add a key and an integer value to an existing map. More...
 
ZOO_DLL_EXPORT void addIntToMapArray (map *, const char *, int, const unsigned long)
 Add a key and an integer value to an existing map array. More...
 
ZOO_DLL_EXPORT mapaddToMapWithSize (map *, const char *, const char *, int)
 Add a key and a binary value to an existing map. More...
 
ZOO_DLL_EXPORT void addMapToMap (map **, map *)
 Add a map at the end of another map. More...
 
ZOO_DLL_EXPORT void addMapToIoType (iotype **, map *)
 Add a map to iotype. More...
 
ZOO_DLL_EXPORT mapgetMapOrFill (map **, const char *, const char *)
 Access a specific map or set its value. More...
 
ZOO_DLL_EXPORT bool contains (map *, map *)
 Verify if a map is contained in another map. More...
 
ZOO_DLL_EXPORT iotypegetIoTypeFromElement (elements *, char *, map *)
 Access a specific iotype from an elements. More...
 
ZOO_DLL_EXPORT void loadMapBinary (map **, map *, int)
 Load binary values from a map (in) and add them to another map (out) More...
 
ZOO_DLL_EXPORT void loadMapBinaries (map **, map *)
 Load binary values from a map (in) and add them to another map (out). More...
 
ZOO_DLL_EXPORT mapsdupMaps (maps **)
 Duplicate a Maps. More...
 
ZOO_DLL_EXPORT void addMapsToMaps (maps **, maps *)
 Add a maps at the end of another maps. More...
 
ZOO_DLL_EXPORT mapgetMapArray (map *, const char *, int)
 Access a specific map array element. More...
 
ZOO_DLL_EXPORT char * getMapArrayKey (map *, const char *, int)
 Get the key name for a specific map array element. More...
 
ZOO_DLL_EXPORT void setMapArray (map *, const char *, int, const char *)
 Add a key value in a MapArray for a specific index. More...
 
ZOO_DLL_EXPORT mapgetMapType (map *)
 Access the map "type". More...
 
ZOO_DLL_EXPORT int addMapsArrayToMaps (maps **, maps *, char *)
 Add a Maps containing a MapArray to a Maps. More...
 
ZOO_DLL_EXPORT void setMapInMaps (maps *, const char *, const char *, const char *)
 Set a key value pair to a map contained in a Maps. More...
 
ZOO_DLL_EXPORT void dumpElements (elements *)
 Dump an elements on stderr. More...
 
ZOO_DLL_EXPORT void dumpElementsAsYAML (elements *, int)
 Dump an elements on stderr using the YAML syntaxe. More...
 
ZOO_DLL_EXPORT elementsdupElements (elements *)
 Duplicate an elements. More...
 
ZOO_DLL_EXPORT void addToElements (elements **, elements *)
 Add an elements to another elements. More...
 
ZOO_DLL_EXPORT void dumpService (service *)
 Dump a service on stderr. More...
 
ZOO_DLL_EXPORT void dumpServiceAsYAML (service *)
 Dump a service on stderr using the YAML syntaxe. More...
 
ZOO_DLL_EXPORT servicedupService (service *)
 Duplicate a service. More...
 
ZOO_DLL_EXPORT void dumpRegistry (registry *)
 Print the registry on stderr. More...
 
ZOO_DLL_EXPORT bool addServiceToRegistry (registry **, char *, service *)
 Add a service to the registry. More...
 
ZOO_DLL_EXPORT void freeRegistry (registry **)
 Free memory allocated for the registry. More...
 
ZOO_DLL_EXPORT servicegetServiceFromRegistry (registry *, char *, char *)
 Access a service in the registry. More...
 
ZOO_DLL_EXPORT void inheritMap (map **, map *)
 Apply inheritance to an out map from a reference in map. More...
 
ZOO_DLL_EXPORT void inheritIOType (iotype **, iotype *)
 Apply inheritance to an out iotype from a reference in iotype. More...
 
ZOO_DLL_EXPORT void inheritElements (elements **, elements *)
 Apply inheritance to an out elements from a reference in elements. More...
 
ZOO_DLL_EXPORT void inheritance (registry *, service **)
 Apply inheritance to a service based on a registry. More...
 
ZOO_DLL_EXPORT void mapsToCharXXX (maps *, char ***)
 Convert a maps to a char*** (only used for Fortran support) More...
 
ZOO_DLL_EXPORT void charxxxToMaps (char ***, maps **)
 Convert a char*** to a maps (only used for Fortran support) More...
 
ZOO_DLL_EXPORT void updateCnt (maps *, const char *, const char *)
 Update the counter value (in conf / lenv / serviceCnt. More...
 
ZOO_DLL_EXPORT bool compareCnt (maps *, const char *, const char *)
 Compare a value with conf / lenv / serviceCnt. More...
 
ZOO_DLL_EXPORT bool nonempty (map *map)
 Verify that a map has a value. More...
 
ZOO_DLL_EXPORT bool hasvalue (maps *source, const char *node, const char *key, map **kvp)
 Verify that a particular map value exists in a maps data structure, and obtain that value. More...
 
ZOO_DLL_EXPORT char * allocateMapValue (map *node, size_t num_bytes)
 
ZOO_DLL_EXPORT char * getValueFromMaps (maps *, const char *)
 
ZOO_DLL_EXPORT void _translateChar (char *, char, char)
 Replace a char by another one in a string. More...
 

Variables

static const char * pccLogLevel [7]
 The global log level names. More...
 
static int iZooLogLevel =1
 The global log level. More...
 
static int iMinZooLogLevel =0
 The global log level. More...
 
static const char * ZOO_STATUS []
 Statuses list. More...
 
static const char *const WPSExceptionCode []
 Standard WPS exception codes. More...
 
static const int OAPIPCorrespondances [8][2]
 WPS exception codes to OGC API - Processes ones. More...
 
static const int OAPIPExceptionLimits [1][2]
 OGC API - Processes exception limits. More...
 
static const char *const OAPIPExceptionCode []
 OGC API - Processes exception codes. More...
 
static const char *const OAPIPSupportedContentTypes []
 OGC API - Processes supported Content-Type list. More...
 
static const char *const WPSExceptionText []
 WPS exception text (associated with the exception code) More...
 

Data Structure Documentation

◆ map

struct map

KVP linked list.

Data Fields
char * name the key
struct map * next the pointer to the next map if any or NULL
char * value the value

◆ maps

struct maps

linked list of map pointer

Small object to store WPS KVP set.

Data Fields
struct maps * child the child maps
struct map * content the content map
char * name the maps name
struct maps * next the pointer to the next maps if any or NULL

◆ iotype

struct iotype

Not named linked list.

Used to store information about formats, such as mimeType, encoding ...

Data Fields
struct map * content the content map
struct iotype * next the pointer to the next iotype if any or NULL

◆ elements

struct elements

Metadata information about input or output.

The elements are used to store metadata information defined in the ZCFG.

Data Fields
struct map * additional_parameters the additional parameters map
struct elements * child the pointer to the children element if any (or NULL)
struct map * content the content map
struct iotype * defaults the default iotype
char * format the format: LiteralData or ComplexData or BoundingBoxData
struct map * metadata the metadata map
char * name the name
struct elements * next the pointer to the next element if any (or NULL)
struct iotype * supported the supported iotype

◆ service

struct service

Metadata information about a full Service.

Data Fields
struct map * additional_parameters the additional parameters map
struct map * content the content map
struct elements * inputs the inputs elements
struct map * metadata the metadata map
char * name the name
struct elements * outputs the outputs elements

◆ services

struct services

Services chained list.

Data Fields
struct service * content the content service pointer
struct services * next the pointer to the next services*

◆ registry

struct registry

Profile registry.

Data Fields
struct services * content the content services pointer
char * name the name
struct registry * next the next registry pointer

Macro Definition Documentation

◆ __bool_true_false_are_defined

#define __bool_true_false_are_defined   1

◆ _ZOO_DEBUG

#define _ZOO_DEBUG (   message,
  pccFile,
  pccFunc,
  iLine 
)

The ZOO_DEBUG macro print a message with date time, process id (UNIX pid), file name, function name, and line number.

The message uses the ZOO_LOG_FORMAT to format the output.

The values that should be included in this specific order in the ZOO_LOG_FORMAT are:

  • d: the date time
  • l: the log level
  • p: the process identifier
  • f: the file name
  • u: the function name
  • i: the line number
  • m: the message

The ZOO_DEBUG macro print messages in color, if stderr is a TTY.

Parameters
messagethe message to print
pccFilethe file name
pccFuncthe function name
iLinethe line number

◆ ELEMENTS_SIZE

#define ELEMENTS_SIZE   (sizeof(char*)+(((2*sizeof(char*))+sizeof(maps*))*3)+sizeof(char*)+((sizeof(map*) + sizeof(iotype*))*2)+(2*sizeof(elements*)))

The memory size to create an elements.

◆ IOTYPE_SIZE

#define IOTYPE_SIZE   sizeof(map*) + sizeof(iotype*)

The memory size to create an iotype.

◆ MAP_SIZE

#define MAP_SIZE   (2*sizeof(char*))+sizeof(map*)

The memory size to create a map.

◆ MAPS_SIZE

#define MAPS_SIZE   sizeof(char*)+sizeof(map*)+(2*sizeof(maps*))

The memory size to create a maps.

◆ NULLMAP

#define NULLMAP   NULL

◆ REGISTRY_SIZE

#define REGISTRY_SIZE   sizeof(char*)+sizeof(services*)+sizeof(registry*)

The memory size to create a registry.

◆ SERVICE_ACCEPTED

#define SERVICE_ACCEPTED   0

The global accepted status for a service.

◆ SERVICE_DEPLOYED

#define SERVICE_DEPLOYED   6

The global deployed status for a service.

◆ SERVICE_DISMISSED

#define SERVICE_DISMISSED   5

The global dismissed status for a service.

◆ SERVICE_FAILED

#define SERVICE_FAILED   4

The global failed status for a service.

◆ SERVICE_PAUSED

#define SERVICE_PAUSED   2

The global paused status for a service.

◆ SERVICE_SIZE

#define SERVICE_SIZE   sizeof(char*) + 3*sizeof(map*) + 2*sizeof(elements*)

The memory size to create a service.

◆ SERVICE_STARTED

#define SERVICE_STARTED   1

The global started status for a service.

◆ SERVICE_SUCCEEDED

#define SERVICE_SUCCEEDED   3

The global succeeded status for a service.

◆ SERVICE_UNDEPLOYED

#define SERVICE_UNDEPLOYED   7

The global undelployed status for a service.

◆ SERVICES_SIZE

#define SERVICES_SIZE   sizeof(service*)+sizeof(services*)

The memory size to create a services.

◆ SHMSZ

#define SHMSZ   27

◆ TIME_SIZE

#define TIME_SIZE   40

The time size, used to create a buffer for time string.

◆ zClose

#define zClose   close

The crossplatform close alias.

◆ zDateFormat

#define zDateFormat   "%Y-%m-%dT%H:%M:%SZ"

◆ zDup

#define zDup   dup

The crossplatform dup alias.

◆ zDup2

#define zDup2   dup2

The crossplatform dup2 alias.

◆ zGetCwd

#define zGetCwd   getcwd

◆ zGetpid

#define zGetpid   getpid

The crossplatform getpid alias.

◆ zGettimeofday

#define zGettimeofday   gettimeofday

The crossplatform gettimeofday alias.

◆ zLogDateFormat

#define zLogDateFormat   "%Y-%m-%d %H:%M:%S"

◆ ZOO_COLOR_BLACK

#define ZOO_COLOR_BLACK   "0m"

◆ ZOO_COLOR_BLUE

#define ZOO_COLOR_BLUE   "4m"

◆ ZOO_COLOR_CYAN

#define ZOO_COLOR_CYAN   "6m"

◆ ZOO_COLOR_GREEN

#define ZOO_COLOR_GREEN   "2m"

◆ ZOO_COLOR_HIGH_INTENSITY

#define ZOO_COLOR_HIGH_INTENSITY   "9"

The ZOO_COLOR_HIGH_INTENSITY is used to set the color intensity to high.

◆ ZOO_COLOR_MAGENTA

#define ZOO_COLOR_MAGENTA   "5m"

◆ ZOO_COLOR_RED

#define ZOO_COLOR_RED   "1m"

◆ ZOO_COLOR_RESET

#define ZOO_COLOR_RESET   "\e[0m"

◆ ZOO_COLOR_STANDARD

#define ZOO_COLOR_STANDARD   "3"

The ZOO_COLOR_STANDARD is used to set the color intensity to standard.

◆ ZOO_COLOR_START

#define ZOO_COLOR_START   "\e[0;"

The ZOO_COLOR_* variables are used to create colored output in the console.

To use a color you should combine:

  • ZOO_COLOR_START or ZOO_COLOR_START_BOLD
  • ZOO_COLOR_STANDARD or ZOO_COLOR_HIGH_INTENSITY
  • ZOO_COLOR_BLACK, ZOO_COLOR_RED, ZOO_COLOR_GREEN, ZOO_COLOR_YELLOW, ZOO_COLOR_BLUE, ZOO_COLOR_MAGENTA, ZOO_COLOR_CYAN, ZOO_COLOR_WHITE

To set the background color you should combine:

  • ZOO_COLOR_START_BACKGROUND or ZOO_COLOR_START_BACKGROUND_HIGH_INTENSITY
  • ZOO_COLOR_BLACK, ZOO_COLOR_RED, ZOO_COLOR_GREEN, ZOO_COLOR_YELLOW, ZOO_COLOR_BLUE, ZOO_COLOR_MAGENTA, ZOO_COLOR_CYAN, ZOO_COLOR_WHITE

To reset the color formatting you should use ZOO_COLOR_RESET.

The ZOO_COLOR_START or ZOO_COLOR_START_BOLD are used to start the color formatting. The ZOO_COLOR_STANDARD or ZOO_COLOR_HIGH_INTENSITY are used to set the color intensity. The ZOO_COLOR_BLACK, ZOO_COLOR_RED, ZOO_COLOR_GREEN, ZOO_COLOR_YELLOW, ZOO_COLOR_BLUE, ZOO_COLOR_MAGENTA, ZOO_COLOR_CYAN, ZOO_COLOR_WHITE are used to set the color. The ZOO_COLOR_START_BACKGROUND or ZOO_COLOR_START_BACKGROUND_HIGH_INTENSITY are used to set the background color. The ZOO_COLOR_RESET is used to reset the color formatting. The ZOO_COLOR_START is used to start the color formatting.

◆ ZOO_COLOR_START_BACKGROUND

#define ZOO_COLOR_START_BACKGROUND   "\e[4"

◆ ZOO_COLOR_START_BACKGROUND_HIGH_INTENSITY

#define ZOO_COLOR_START_BACKGROUND_HIGH_INTENSITY   "\e[0;10"

◆ ZOO_COLOR_START_BOLD

#define ZOO_COLOR_START_BOLD   "\e[1;"

The ZOO_COLOR_START_BOLD is used to start the color formatting with bold text.

◆ ZOO_COLOR_WHITE

#define ZOO_COLOR_WHITE   "7m"

◆ ZOO_COLOR_YELLOW

#define ZOO_COLOR_YELLOW   "3m"

◆ ZOO_DEBUG

#define ZOO_DEBUG (   message)    _ZOO_DEBUG(message,__FILE__,__func__,__LINE__)

The _ZOO_DEBUG macro print a message with date time, process id (UNIX pid), file name, function name, and line number.

The message uses the ZOO_LOG_FORMAT to format the output.

The values that should be included in this specific order in the ZOO_LOG_FORMAT are:

  • d: the date time
  • l: the log level
  • p: the process identifier
  • f: the file name
  • u: the function name
  • i: the line number
  • m: the message

In case the ZOO_LOG_FORMAT is not defined, the default format is used: "%d %l %p %f:%u %m\n"

Parameters
messagethe message to print

◆ ZOO_DEBUG_LEVEL_DEBUG

#define ZOO_DEBUG_LEVEL_DEBUG   1

The global debug level: DEBUG.

◆ ZOO_DEBUG_LEVEL_ERROR

#define ZOO_DEBUG_LEVEL_ERROR   5

The global debug level: ERROR.

◆ ZOO_DEBUG_LEVEL_FATAL

#define ZOO_DEBUG_LEVEL_FATAL   6

The global debug level: FATAL.

◆ ZOO_DEBUG_LEVEL_INFO

#define ZOO_DEBUG_LEVEL_INFO   2

The global debug level: INFO.

◆ ZOO_DEBUG_LEVEL_SUCCESS

#define ZOO_DEBUG_LEVEL_SUCCESS   3

The global debug level: WARN.

◆ ZOO_DEBUG_LEVEL_TRACE

#define ZOO_DEBUG_LEVEL_TRACE   0

The global debug level: DEBUG.

◆ ZOO_DEBUG_LEVEL_WARNING

#define ZOO_DEBUG_LEVEL_WARNING   4

The global debug level: WARN.

◆ ZOO_DLL_EXPORT

#define ZOO_DLL_EXPORT

◆ zooLog

#define zooLog   logMessage(__FILE__, __func__, __LINE__)

◆ zooLogMsg

#define zooLogMsg (   file,
  message 
)    logMessage(__FILE__, __func__, __LINE__, (file), (message))

◆ zOpen

#define zOpen   open

The crossplatform open alias.

◆ zStat

#define zStat   stat64

◆ zStatStruct

#define zStatStruct   struct stat64

◆ zStrdup

#define zStrdup   strdup

The crossplatform strdup alias.

◆ ztimeval

#define ztimeval   timeval

The crossplatform timeval alias.

◆ zUnlink

#define zUnlink   unlink

The crossplatform unlink alias.

◆ zWrite

#define zWrite   write

The crossplatform write alias.

Typedef Documentation

◆ elements

typedef struct elements elements

Metadata information about input or output.

The elements are used to store metadata information defined in the ZCFG.

◆ iotype

typedef struct iotype iotype

Not named linked list.

Used to store information about formats, such as mimeType, encoding ...

◆ map

typedef struct map map

KVP linked list.

◆ maps

typedef struct maps maps

linked list of map pointer

Small object to store WPS KVP set.

◆ registry

typedef struct registry registry

Profile registry.

◆ service

typedef struct service service

Metadata information about a full Service.

◆ services

typedef struct services services

Services chained list.

Enumeration Type Documentation

◆ WPSException

Enumerator
StatusOK 
MissingParameterValue 
InvalidParameterValue 
NoApplicableCode 
NotEnoughStorage 
ServerBusy 
FileSizeExceeded 
StorageNotSupported 
VersionNegotiationFailed 
NoSuchProcess 
NoSuchMode 
NoSuchInput 
NoSuchOutput 
DataNotAccessible 
SizeExceeded 
TooManyInputs 
TooManyOutputs 
NoSuchFormat 
WrongInputData 
InternalServerError 
NoSuchJob 
ResultNotReady 

Function Documentation

◆ _dumpMap()

ZOO_DLL_EXPORT void _dumpMap ( map pmMap)

Dump a map on stderr.

Parameters
pmMapthe map to dump

◆ _translateChar()

ZOO_DLL_EXPORT void _translateChar ( char *  str,
char  toReplace,
char  toReplaceBy 
)

Replace a char by another one in a string.

Parameters
strthe string to update
toReplacethe char to replace
toReplaceBythe char that will be used

◆ addIntToMap()

ZOO_DLL_EXPORT void addIntToMap ( map pMap,
const char *  pccName,
const int  iValue 
)

Add a key and an integer value to an existing map.

Parameters
pMapthe map to add the KVP
pccNamethe key to add
iValuethe corresponding value to add

◆ addIntToMapArray()

ZOO_DLL_EXPORT void addIntToMapArray ( map pmMap,
const char *  pccName,
int  iIndex,
const unsigned long  icValue 
)

Add a key and an integer value to an existing map array.

Parameters
pmMapthe map to add the KVP
pccNamethe key to add
iIndexthe index of the MapArray
icValuethe corresponding value to add

◆ addMapsArrayToMaps()

ZOO_DLL_EXPORT int addMapsArrayToMaps ( maps **  pmsOut,
maps pmsIn,
char *  pcType 
)

Add a Maps containing a MapArray to a Maps.

See also
getMapType
Parameters
pmsOutthe maps
pmsInthe maps
pcTypethe map "type"
Returns

◆ addMapsToMaps()

ZOO_DLL_EXPORT void addMapsToMaps ( maps **  ppmsOut,
maps pmIn 
)

Add a maps at the end of another maps.

See also
addMapToMap, dupMaps, getMaps
Parameters
ppmsOutthe maps to add mi
pmInthe maps to add to mo

◆ addMapToIoType()

ZOO_DLL_EXPORT void addMapToIoType ( iotype **  piotType,
map pmMap 
)

Add a map to iotype.

Parameters
piotTypethe iotype to add the map
pmMapthe map to add to io

◆ addMapToMap()

ZOO_DLL_EXPORT void addMapToMap ( map **  pmMapOut,
map pmMapIn 
)

Add a map at the end of another map.

Parameters
pmMapOutthe map to add pmMapIn to
pmMapInthe map to add to pmMapOut

◆ addServiceToRegistry()

ZOO_DLL_EXPORT bool addServiceToRegistry ( registry **  prReg,
char *  pcName,
service psContent 
)

Add a service to the registry.

Parameters
prRegthe resgitry to add the service
pcNamethe registry name to update
psContentthe service to add

◆ addToElements()

ZOO_DLL_EXPORT void addToElements ( elements **  ppeElem,
elements peELem 
)

Add an elements to another elements.

See also
dupElements
Parameters
ppeElemthe elements to add the e
peELemthe elements to be added to m

◆ addToMap()

ZOO_DLL_EXPORT void addToMap ( map pMap,
const char *  pccName,
const char *  pccValue 
)

Add key value pair to an existing map.

Parameters
pMapthe map to add the KVP
pccNamethe key to add
pccValuethe corresponding value to add

◆ addToMapA()

ZOO_DLL_EXPORT void addToMapA ( map pMap,
const char *  pccName,
const char *  pccValue 
)

Add key value pair to an existing map or append the value.

Parameters
pMapthe map to add the KVP
pccNamethe key to add
pccValuethe corresponding value to add

◆ addToMapWithSize()

ZOO_DLL_EXPORT map* addToMapWithSize ( map pMap,
const char *  pccName,
const char *  pccValue,
int  iSize 
)

Add a key and a binary value to an existing map.

Parameters
pMapthe map to add the KVP
pccNamethe key to add
pccValuethe corresponding value to add
iSizethe size of the given value
Returns
a pointer to the updated map m

◆ allocateMapValue()

ZOO_DLL_EXPORT char* allocateMapValue ( map node,
size_t  num_bytes 
)

◆ charxxxToMaps()

ZOO_DLL_EXPORT void charxxxToMaps ( char ***  pppcValues,
maps **  ppmsMaps 
)

Convert a char*** to a maps (only used for Fortran support)

Parameters
pppcValuesthe array to convert
ppmsMapsthe resulting maps

◆ compareCnt()

ZOO_DLL_EXPORT bool compareCnt ( maps conf,
const char *  field,
const char *  type 
)

Compare a value with conf / lenv / serviceCnt.

Parameters
confthe conf maps containing the main.cfg settings
fieldthe value to compare with (serviceCntLimit or serviceCntSkip)
typecomparison operator can be : elower, lower, eupper, upper, or equal
Returns
boolean resulting of the comparison between the values

◆ contains()

ZOO_DLL_EXPORT bool contains ( map pmMap,
map pmSearch 
)

Verify if a map is contained in another map.

Parameters
pmMapthe map to search for i
pmSearchthe map to search in m
Returns
true if i was found in m, false in other case

◆ count()

ZOO_DLL_EXPORT int count ( map pmMap)

Count number of map in a map.

Parameters
pmMapthe map to count
Returns
number of map in a map

◆ countMapName()

ZOO_DLL_EXPORT int countMapName ( map pmMap,
const char *  value 
)

Count number of a specific map in a map.

Parameters
pmMapthe map to count
Returns
number of map in a map

◆ countMapNameValue()

ZOO_DLL_EXPORT int countMapNameValue ( map pmMap,
const char *  value 
)

Count number of a specific map value in a map.

Parameters
pmMapthe map to count
Returns
number of map in a map

◆ countMaps()

ZOO_DLL_EXPORT int countMaps ( maps pmsMap)

Count number of maps in a maps.

Parameters
pmsMapthe maps to count
Returns
number of maps in a maps

◆ createElements()

ZOO_DLL_EXPORT elements* createElements ( const char *  pcName)

Create a named elements.

Parameters
pcNamethe elements name
Returns
a pointer to the allocated elements

◆ createEmptyElements()

ZOO_DLL_EXPORT elements* createEmptyElements ( )

Create an empty elements.

Returns
a pointer to the allocated elements

◆ createIoType()

ZOO_DLL_EXPORT iotype* createIoType ( )

Create a new iotype*.

Returns
a pointer to the allocated iotype

◆ createMap()

ZOO_DLL_EXPORT map* createMap ( const char *  pccName,
const char *  pccValue 
)

Create a new map.

Parameters
pccNamethe key to add to the map
pccValuethe corresponding value to add to the map
Returns
a pointer to the allocated map

◆ createMaps()

ZOO_DLL_EXPORT maps* createMaps ( const char *  pccName)

Create a new maps with the given name.

Parameters
pccNameof the maps
Returns
the allocated map

◆ createService()

ZOO_DLL_EXPORT service* createService ( )

Allocate memory for a service.

Require to call free after calling this function.

Returns
the service

◆ dumpElements()

ZOO_DLL_EXPORT void dumpElements ( elements peElem)

Dump an elements on stderr.

Parameters
peElemthe elements to dump

◆ dumpElementsAsYAML()

ZOO_DLL_EXPORT void dumpElementsAsYAML ( elements peElem,
int  iLevel 
)

Dump an elements on stderr using the YAML syntaxe.

Parameters
peElemthe elements to dump
iLevelthe current level

◆ dumpMap()

ZOO_DLL_EXPORT void dumpMap ( map pmMap)

Dump a map on stderr, see _dumpMap()

Parameters
pmMapthe map to dump

◆ dumpMaps()

ZOO_DLL_EXPORT void dumpMaps ( maps pmMap)

Dump a maps on stderr, see dumpMap().

Parameters
pmMapthe map to dump

◆ dumpMapsToFile()

ZOO_DLL_EXPORT void dumpMapsToFile ( maps pmsMaps,
char *  pcaFilePath,
int  iLimit 
)

Dump a maps to a file, see _dumpMapsToFile().

Parameters
pmsMapsthe map to dump
pcaFilePaththe the file pointer to store the map
iLimitthe number of maps to print (0 for no limit)

◆ dumpMapToFile()

ZOO_DLL_EXPORT void dumpMapToFile ( map pmMap,
FILE *  pfFile 
)

Dump a map to a file.

Parameters
pmMapthe map to dump to file
pfFilethe file pointer to store the map

◆ dumpRegistry()

ZOO_DLL_EXPORT void dumpRegistry ( registry prReg)

Print the registry on stderr.

Parameters
prRegthe registry

◆ dumpService()

ZOO_DLL_EXPORT void dumpService ( service psServ)

Dump a service on stderr.

Parameters
psServthe service to dump

◆ dumpServiceAsYAML()

ZOO_DLL_EXPORT void dumpServiceAsYAML ( service psServ)

Dump a service on stderr using the YAML syntaxe.

Parameters
psServthe service to dump

◆ dupElements()

ZOO_DLL_EXPORT elements* dupElements ( elements peElem)

Duplicate an elements.

Parameters
peElemthe elements to clone
Returns
the allocated elements containing a copy of the elements e

◆ dupMaps()

ZOO_DLL_EXPORT maps* dupMaps ( maps **  ppmsOut)

Duplicate a Maps.

Parameters
ppmsOutthe maps to clone
Returns
the allocated maps containing a copy of the mo maps

◆ dupService()

ZOO_DLL_EXPORT service* dupService ( service psServ)

Duplicate a service.

Parameters
psServthe service to clone
Returns
the allocated service containing a copy of the serfvice s

◆ freeElements()

ZOO_DLL_EXPORT void freeElements ( elements **  peElem)

Free allocated memory of an elements.

Require to call free on e after calling this function.

Parameters
peElemthe iotype to free

◆ freeIOType()

ZOO_DLL_EXPORT void freeIOType ( iotype **  piotIO)

Free allocated memory of an iotype.

Require to call free on i after calling this function.

Parameters
piotIOthe iotype to free

◆ freeMap()

ZOO_DLL_EXPORT void freeMap ( map **  pmMap)

Free allocated memory of a map.

Require to call free on mo after calling this function.

Parameters
pmMapthe map to free

◆ freeMaps()

ZOO_DLL_EXPORT void freeMaps ( maps **  pmMap)

Free allocated memory of a maps.

Require to call free on mo after calling this function.

Parameters
pmMapthe maps to free

◆ freeRegistry()

ZOO_DLL_EXPORT void freeRegistry ( registry **  prReg)

Free memory allocated for the registry.

Parameters
prRegthe registry

◆ freeService()

ZOO_DLL_EXPORT void freeService ( service **  psService)

Free allocated memory of a service.

Require to be invoked for every createService call.

Parameters
psServicethe service to free

◆ getElements()

ZOO_DLL_EXPORT elements* getElements ( elements peElem,
const char *  pccKey 
)

Access a specific elements named key.

Parameters
peElemthe elements to search
pccKeythe elements name to search
Returns
a pointer to the specific element if found, NULL in other case.

◆ getIoTypeFromElement()

ZOO_DLL_EXPORT iotype* getIoTypeFromElement ( elements peElem,
char *  pcName,
map pcValues 
)

Access a specific iotype from an elements.

Parameters
peElemthe elements to search for the name
pcNamethe name to search in the elements e
pcValuesthe map to verify it was contained in the defaults or supported content of the elements e
Returns
a pointer on the iotype found or NULL if not found

◆ getLastMap()

ZOO_DLL_EXPORT map* getLastMap ( map pmMap)

Access the last map.

Parameters
pmMapthe map to search for the lastest map
Returns
a pointer on the lastest map found or NULL if not found

◆ getMap()

ZOO_DLL_EXPORT map* getMap ( map pmMap,
const char *  pccKey 
)

Access a specific map.

Parameters
pmMapthe map to search for the key
pccKeythe key to search in the map
Returns
a pointer on the map found or NULL if not found

◆ getMapArray()

ZOO_DLL_EXPORT map* getMapArray ( map pmMap,
const char *  pccKey,
int  iIndex 
)

Access a specific map array element.

Parameters
pmMapthe map to search for the key
pccKeythe key to search in the map
iIndexof the MapArray
Returns
a pointer on the map found or NULL if not found

◆ getMapArrayKey()

ZOO_DLL_EXPORT char* getMapArrayKey ( map pmMap,
const char *  pccKey,
int  iIndex 
)

Get the key name for a specific map array element.

Parameters
pmMapthe map to search for the key
pccKeythe key to search in the map
iIndexof the MapArray
Returns
an allocated char pointer containing the key name
Warning
make sure to free resources returned by this function

◆ getMapFromMaps()

ZOO_DLL_EXPORT map* getMapFromMaps ( maps pmMap,
const char *  pccKey,
const char *  pccSubkey 
)

Access a specific map from a maps.

Parameters
pmMapthe maps to search for the key
pccKeythe key to search in the maps
pccSubkeythe key to search in the map (found for the key, if any)
Returns
a pointer on the map found or NULL if not found

◆ getMapOrFill()

ZOO_DLL_EXPORT map* getMapOrFill ( map **  ppmMap,
const char *  pccKey,
const char *  pccValue 
)

Access a specific map or set its value.

Parameters
ppmMapthe map to search for the key
pccKeythe key to search/add in the map
pccValuethe value to add if the key does not exist
Returns
a pointer on the map found or NULL if not found

◆ getMaps()

ZOO_DLL_EXPORT maps* getMaps ( maps pmsMaps,
const char *  pccKey 
)

Access a specific maps.

Parameters
pmMapthe maps to search for the key
pccKeythe key to search in the maps
Returns
a pointer on the maps found or NULL if not found

◆ getMapType()

ZOO_DLL_EXPORT map* getMapType ( map pmMap)

Access the map "type".

Parameters
pmMapthe map
Returns
a pointer on the map for mimeType/dataType/CRS if found, NULL in other case

◆ getServiceFromRegistry()

ZOO_DLL_EXPORT service* getServiceFromRegistry ( registry prReg,
char *  pcLevel,
char *  pcName 
)

Access a service in the registry.

Parameters
prRegthe registry
pcLevelthe regitry to search ("concept", "generic" or "implementation")
pcNamethe service name
Returns
the service pointer if a corresponding service was found or NULL

◆ getValueFromMaps()

ZOO_DLL_EXPORT char* getValueFromMaps ( maps ,
const char *   
)

◆ hasElement()

ZOO_DLL_EXPORT bool hasElement ( elements peElem,
const char *  pccKey 
)

Verify if an elements contains a name equal to the given key.

Parameters
peElemthe elements to search for the key
pccKeythe elements name to search
Returns
true if the elements contains the name, false in other cases.

◆ hasKey()

ZOO_DLL_EXPORT bool hasKey ( map pmMap,
const char *  pccKey 
)

Verify if a key exist in a map.

Parameters
pmMapthe map to search for the key
pccKeythe key to search in the map
Returns
true if the key wwas found, false in other case

◆ hasvalue()

ZOO_DLL_EXPORT bool hasvalue ( maps pmsSource,
const char *  pccNode,
const char *  pccKey,
map **  ppmKvp 
)

Verify that a particular map value exists in a maps data structure, and obtain that value.

Parameters
pmsSourcepointer to maps structure
pccNodename of maps node to search
pccKeyname of map node to find
ppmKvpaddress to the map* if it exists, otherwise NULL
Returns
true if map has a value or false if value is missing/NULL
Note
The map assigned to kvp is owned by the source maps

◆ inheritance()

ZOO_DLL_EXPORT void inheritance ( registry prReg,
service **  psServ 
)

Apply inheritance to a service based on a registry.

Parameters
prRegthe registry storing profiles hierarchy
psServthe service to update depending on its inheritance

◆ inheritElements()

ZOO_DLL_EXPORT void inheritElements ( elements **  ppeOut,
elements peIn 
)

Apply inheritance to an out elements from a reference in elements.

Parameters
ppeOutthe elements to update
peInthe reference elements (containing inherited properties)

◆ inheritIOType()

ZOO_DLL_EXPORT void inheritIOType ( iotype **  ppiotOut,
iotype piotIn 
)

Apply inheritance to an out iotype from a reference in iotype.

Parameters
ppiotOutthe iotype to update
piotInthe reference iotype (containing inherited properties)

◆ inheritMap()

ZOO_DLL_EXPORT void inheritMap ( map **  ppmOut,
map pmIn 
)

Apply inheritance to an out map from a reference in map.

Parameters
ppmOutthe map to update
pmInthe reference map (containing inherited properties)

◆ loadMapBinaries()

ZOO_DLL_EXPORT void loadMapBinaries ( map **  ppmOut,
map pmIn 
)

Load binary values from a map (in) and add them to another map (out).

This function will take care of MapArray.

See also
loadMapBinary
Parameters
ppmOutthe map to add binaries values
pmInthe map containing the binary values to add ti out

◆ loadMapBinary()

ZOO_DLL_EXPORT void loadMapBinary ( map **  ppmOut,
map pmIn,
int  iPos 
)

Load binary values from a map (in) and add them to another map (out)

Parameters
pmOutthe map to add binaries values
pmInthe map containing the binary values to add ti out
iPosindex of the binary in an array (in case of "MapArray")

◆ mapsToCharXXX()

ZOO_DLL_EXPORT void mapsToCharXXX ( maps pmsMap,
char ***  pppcValues 
)

Convert a maps to a char*** (only used for Fortran support)

Parameters
pmsMapthe maps to convert
pppcValuesthe resulting array

◆ nonempty()

ZOO_DLL_EXPORT bool nonempty ( map pmMap)

Verify that a map has a value.

Parameters
pmMappointer to map that should be checked
Returns
true if map has a value or false if value is missing/empty/NULL

◆ setElementsName()

ZOO_DLL_EXPORT void setElementsName ( elements **  ppeElem,
char *  pcName 
)

Set the name of an elements.

Parameters
peElemthe elements to modify
pcNamethe elements name
Returns
a pointer to the allocated elements

◆ setMapArray()

ZOO_DLL_EXPORT void setMapArray ( map pmMap,
const char *  pccKey,
int  iIndex,
const char *  pccValue 
)

Add a key value in a MapArray for a specific index.

Parameters
pmMapthe map to search for the key
pccKeythe key to search in the map
iIndexthe index of the MapArray
pccValuethe value to set in the MapArray

◆ setMapInMaps()

ZOO_DLL_EXPORT void setMapInMaps ( maps pmsMaps,
const char *  pccKey,
const char *  pccSubkey,
const char *  pccValue 
)

Set a key value pair to a map contained in a Maps.

Parameters
pmsMapsthe maps
pccKeythe maps name
pccSubkeythe map name included in the maps corresponding to key
pccValuethe corresponding value to add in the map

◆ setServiceName()

ZOO_DLL_EXPORT void setServiceName ( service **  ppsServ,
char *  pcName 
)

Set the name of a service.

Parameters
ppsServthe service
pcNamethe service name

◆ updateCnt()

ZOO_DLL_EXPORT void updateCnt ( maps conf,
const char *  field,
const char *  type 
)

Update the counter value (in conf / lenv / serviceCnt.

Parameters
confthe conf maps containing the main.cfg settings
fieldthe value to update (serviceCnt or serviceCounter)
typechar pointer can be "incr" for incrementing the value by 1, other will descrement the value by 1

◆ zMkdir()

static int zMkdir ( const char *  pccPath)
static

The crossplatform mkdir alias.

◆ zooDebugPrint()

ZOO_DLL_EXPORT int zooDebugPrint ( const char *  format,
  ... 
)

◆ zSleep()

static int zSleep ( const long  millisecond)
static

The crossplatform sleep alias.

Variable Documentation

◆ iMinZooLogLevel

int iMinZooLogLevel =0
static

The global log level.

◆ iZooLogLevel

int iZooLogLevel =1
static

The global log level.

◆ OAPIPCorrespondances

const int OAPIPCorrespondances[8][2]
static
Initial value:
= {
{9,0},
{20,1},
{21,2},
{22,3},
{23,4},
{24,5},
{25,6},
{26,7}
}

WPS exception codes to OGC API - Processes ones.

See also
WPSExceptionCode, OAPIPExceptionCode

◆ OAPIPExceptionCode

const char* const OAPIPExceptionCode[]
static
Initial value:
= {
"no-such-process",
"no-such-job",
"result-not-ready",
"invalid-query-parameter-value",
"duplicated-process",
"immutable-process",
"unsupported-media-type",
"workflow-not-found"
}

OGC API - Processes exception codes.

See also
WPSExceptionCode, OAPIPCorrespondances

◆ OAPIPExceptionLimits

const int OAPIPExceptionLimits[1][2]
static
Initial value:
= {
{4,1}
}

OGC API - Processes exception limits.

Used to determine which exceptionsUrl to use for the current exception. The first value is the index in the WPSExceptionCode array, and the second one is the index in the exceptionsUrl map array (i.e. when exception code index is 4 or upper, we should use exceptionUrl_1).

See also
WPSExceptionCode, OAPIPCorrespondances

◆ OAPIPSupportedContentTypes

const char* const OAPIPSupportedContentTypes[]
static
Initial value:
= {
"application/json",
"application/cwl",
"application/cwl+yaml",
"application/ogcapppkg+json",
NULL
}

OGC API - Processes supported Content-Type list.

◆ pccLogLevel

const char* pccLogLevel[7]
static
Initial value:
={
"TRACE",
"DEBUG",
"INFO",
"SUCCESS",
"WARNING",
"ERROR",
"CRITICAL"
}

The global log level names.

◆ WPSExceptionCode

const char* const WPSExceptionCode[]
static
Initial value:
= {
"StatusOK",
"MissingParameterValue",
"InvalidParameterValue",
"NoApplicableCode",
"NotEnoughStorage",
"ServerBusy",
"FileSizeExceeded",
"StorageNotSupported",
"VersionNegotiationFailed",
"NoSuchProcess",
"NoSuchMode",
"NoSuchInput",
"NoSuchOutput",
"DataNotAccessible",
"SizeExceeded",
"TooManyInputs",
"TooManyOutputs",
"NoSuchFormat",
"WrongInputData",
"InternalServerError",
"NoSuchJob",
"ResultNotReady",
"InvalidQueryParameterValue",
"DuplicatedProcess",
"ImmutableProcess",
"UnsupportedMediaType",
"WorkflowNotFound"
}

Standard WPS exception codes.

See also
WPSExceptionText

◆ WPSExceptionText

const char* const WPSExceptionText[]
static
Initial value:
= {
"No problem detected",
"Operation request does not include a parameter value, and this server did not declare a default value for that parameter.",
"Operation request contains an invalid parameter value.",
"No other exceptionCode specified by this service and server applies to this exception.",
"The server does not have enough space available to store the inputs and outputs associated with the request.",
"The server is too busy to accept and queue the request at this time.",
"The file size of one of the input parameters was too large for this process to handle.",
"Execute operation request included transmission=”reference” for one of the outputs, but storage is not offered by this server.",
"Service version for a ComplexData xlink:href input was not supported by the referenced server, and version negotiation failed.",
"One of the identifiers passed does not match with any of the processes offered by this server.",
"The process does not permit the desired execution mode.",
"One or more of the input identifiers passed does not match with any of the input identifiers of this process.",
"One or more of the output identifiers passed does not match with any of the input identifiers of this process.",
"One of the referenced input data sets was inaccessible.",
"The size of one of the input parameters was too large for this process to handle.",
"Too many input items have been specified.",
"Too many output items have been specified.",
"One or more of the input or output formats specified in the request did not match with any of the formats defined for that particular input or output.",
"One or more of inputs for which the service was able to retrieve the data but could not read it.",
"",
"The JobID from the request does not match any of the Jobs running on this server.",
"The result for the requested JobID has not yet been generated."
}

WPS exception text (associated with the exception code)

See also
WPSExceptionCode

◆ ZOO_STATUS

const char* ZOO_STATUS[]
static
Initial value:
= {
"SERVICE_ACCEPTED",
"SERVICE_STARTED",
"SERVICE_PAUSED",
"SERVICE_SUCCEEDED",
"SERVICE_FAILED",
"SERVICE_DISMISSED",
"SERVICE_DEPLOYED",
"SERVICE_UNDEPLOYED",
NULL
}

Statuses list.