Ignore:
Timestamp:
May 28, 2015, 4:25:06 PM (9 years ago)
Author:
djay
Message:

First version including zoo_service shared library

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/zoo-project/zoo-kernel/service_internal.h

    r631 r640  
    7474#include <time.h>
    7575#include <ctype.h>
    76 #ifdef WIN32
    7776#ifndef USE_RUBY
    7877#include <unistd.h>
    79 #endif
    8078#endif
    8179#ifndef WIN32
    8280#include <xlocale.h>
    8381#endif
    84 #include "ulinet.h"
    8582
    8683#include "service.h"
    87 #include <openssl/sha.h>
    88 #include <openssl/md5.h>
    89 #include <openssl/hmac.h>
    90 #include <openssl/evp.h>
    91 #include <openssl/bio.h>
    92 #include <openssl/buffer.h>
    9384
    94 extern   int conf_read(const char*,maps*);
     85#if defined(macintosh) || (defined(__MACH__) && defined(__APPLE__))
    9586
    96 #ifdef USE_JS
    97 #ifdef WIN32
    98 #define XP_WIN 1
    99 #else
    100 #define XP_UNIX 0
     87#include <CoreServices/CoreServices.h>
     88#include <SystemConfiguration/SystemConfiguration.h>
     89
    10190#endif
    102 #include "service_internal_js.h"
    103 #endif
    104 
    10591
    10692#ifdef __cplusplus
    10793extern "C" {
    10894#endif
    109 #include <libxml/parser.h>
    110 #include <libxml/xpath.h>
    11195
    112   /**
    113    * Maximum number of XML namespaces
    114    */
    115 #define ZOO_NS_MAX 10
    116   /**
    117    * Maximum number of XML docs
    118    */
    119 #define ZOO_DOC_MAX 20
     96  int  setOutputValue( maps*, const char*, char*, size_t);
     97  char* getInputValue( maps*,const char*,size_t*);
    12098
    121   /**
    122    * Global char* to store the serverAddress value of the mmmmmain section
    123    */
    124   static char* SERVICE_URL;
    125   /**
    126    * Array of xmlNsPtr storing all used XML namespace
    127    */
    128   static xmlNsPtr usedNs[ZOO_NS_MAX];
    129   /**
    130    * Array storing names of the used XML namespace
    131    */
    132   static char* nsName[ZOO_NS_MAX];
    133   /**
    134    * Number of XML namespaces
    135    */
    136   static int nbNs=0;
    137   /**
    138    * Array of xmlDocPtr storing XML docs
    139    */
    140   static xmlDocPtr iDocs[ZOO_DOC_MAX];
    141   /**
    142    * Number of XML docs
    143    */
    144   static int nbDocs=0;
    145 
    146   int getServiceFromYAML(maps*,char*,service**,char *name);
    147   int readServiceFile(maps*, char*,service**,char *);
    148   int isValidLang(maps*,const char*);
    149   void addLangAttr(xmlNodePtr,maps*);
    150 
    151   void printHeaders(maps*);
    15299  void unhandleStatus(maps*);
    153100  int _updateStatus(maps*);
    154101  char* _getStatus(maps*,int);
    155102  char* getStatus(int);
     103  int updateStatus( maps*,const int,const char*);
    156104  int removeShmLock(maps*, int);
    157105  /**
     
    170118#endif
    171119 
    172   void readGeneratedFile(maps*,map*,char*);
    173 
    174   void URLDecode(char *);
    175   char *url_encode(char *);
    176   char *url_decode(char *);
    177   char* getEncoding(maps*);
    178 
    179   int zooXmlSearchForNs(const char*);
    180   int zooXmlAddNs(xmlNodePtr,const char*,const char*);
    181   void zooXmlCleanupNs();
    182 
    183   int zooXmlAddDoc(xmlNodePtr,const char*,const char*);
    184   void zooXmlCleanupDocs();
    185  
    186   void printExceptionReportResponse(maps*,map*);
    187   xmlNodePtr createExceptionReportNode(maps*,map*,int);
    188   void printProcessResponse(maps*,map*,int,service*,const char*,int,maps*,maps*);
    189   xmlNodePtr printWPSHeader(xmlDocPtr,maps*,const char*,const char*);
    190   xmlNodePtr printGetCapabilitiesHeader(xmlDocPtr,maps*);
    191   void printGetCapabilitiesForProcess(maps*,xmlNodePtr,service*);
    192   void printDescribeProcessForProcess(maps*,xmlNodePtr,service*);
    193   void printFullDescription(int,elements*,const char*,xmlNsPtr,xmlNodePtr);
    194   void printDocument(maps*,xmlDocPtr,int);
    195   void printDescription(xmlNodePtr,xmlNsPtr,const char*,map*);
    196   void printIOType(xmlDocPtr,xmlNodePtr,xmlNsPtr,xmlNsPtr,xmlNsPtr,elements*,maps*,const char*);
    197   map* parseBoundingBox(const char*);
    198   void printBoundingBox(xmlNsPtr,xmlNodePtr,map*);
    199   void printBoundingBoxDocument(maps*,maps*,FILE*);
    200   void printOutputDefinitions(xmlDocPtr,xmlNodePtr,xmlNsPtr,xmlNsPtr,elements*,maps*,const char*);
    201 
    202   void outputResponse(service*,maps*,maps*,map*,int,maps*,int);
    203 
    204   void dumpMapsValuesToFiles(maps**,maps**);
    205 
    206   char *base64(const char*,int);
    207   char *base64d(const char*,int,int*);
    208   void ensureDecodedBase64(maps**);
    209   void checkValidValue(map*,map**,const char*,const char**,int);
    210   char* addDefaultValues(maps**,elements*,maps*,int,map**);
    211 
    212   int errorException(maps *, const char *, const char *, const char*);
    213 
    214   xmlNodePtr soapEnvelope(maps*,xmlNodePtr);
    215   int checkForSoapEnvelope(xmlDocPtr);
    216  
    217   void addToCache(maps*,char*,char*,char*,int,char*,size_t);
    218   char* isInCache(maps*,char*);
    219   int runHttpRequests(maps**,maps**,HINTERNET*);
    220   void addRequestToQueue(maps**,HINTERNET*,const char*,bool);
    221   int loadRemoteFile(maps**,map**,HINTERNET*,char*);
    222 
    223   char *readVSIFile(maps*,const char*);
    224   void parseIdentifier(maps*,char*,char*,char*);
    225   int updateStatus( maps*,const int,const char*);
    226   char* getInputValue( maps*,const char*,size_t*);
    227   int  setOutputValue( maps*, const char*, char*, size_t);
    228  
    229   char* getLastErrorMessage();
    230120#ifdef __cplusplus
    231121}
Note: See TracChangeset for help on using the changeset viewer.

Search

Context Navigation

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png