Example #1
0
static apr_status_t _ms_get_mapobj(void **conn_, void *params, apr_pool_t *pool) {
   mapcache_source_mapserver *src = (mapcache_source_mapserver*) params;
   struct mc_mapobj *mcmap = calloc(1,sizeof(struct mc_mapobj));
   *conn_ = mcmap;
   mcmap->map = msLoadMap(src->mapfile,NULL);
   if(!mcmap->map) {
      errorObj *errors = NULL;
      msWriteError(stderr);
      errors = msGetErrorObj();
      mcmap->error = apr_psprintf(pool,"Failed to load mapfile '%s'. Mapserver reports: %s",src->mapfile, errors->message);
      return APR_EGENERAL;
   }
   msMapSetLayerProjections(mcmap->map);
   return APR_SUCCESS;
}
Example #2
0
void mapcache_mapserver_connection_constructor(mapcache_context *ctx, void **conn_, void *params) {
  mapcache_source_mapserver *src = (mapcache_source_mapserver*) params;
  struct mc_mapobj *mcmap = calloc(1,sizeof(struct mc_mapobj));
  mcmap->map = msLoadMap(src->mapfile,NULL);
  if(!mcmap->map) {
    errorObj *errors = NULL;
    ctx->set_error(ctx, 500, "Failed to load mapfile '%s'",src->mapfile);
    errors = msGetErrorObj();
    while(errors) {
      ctx->set_error(ctx, 500, "Failed to load mapfile '%s'. Mapserver reports: %s",src->mapfile, errors->message);
      errors = errors->next;
    }
    return;
  }
  msMapSetLayerProjections(mcmap->map);
  *conn_ = mcmap;
}