MCPcopy Index your code
hub / github.com/MapServer/MapServer / loadClass

Function loadClass

mapfile.c:3014–3232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3012}
3013
3014int loadClass(classObj *class, layerObj *layer)
3015{
3016 int state;
3017 mapObj *map=NULL;
3018
3019 class->layer = (layerObj *) layer;
3020 if(layer && layer->map) map = layer->map;
3021
3022 for(;;) {
3023 switch(msyylex()) {
3024 case(CLASS):
3025 break; /* for string loads */
3026 case(DEBUG):
3027 if((class->debug = getSymbol(3, MS_ON,MS_OFF, MS_NUMBER)) == -1) return(-1);
3028 if(class->debug == MS_NUMBER) class->debug = (int) msyynumber;
3029 break;
3030 case(EOF):
3031 msSetError(MS_EOFERR, NULL, "loadClass()");
3032 return(-1);
3033 case(END):
3034 return(0);
3035 break;
3036 case(EXPRESSION):
3037 if(loadExpression(&(class->expression)) == -1) return(-1); /* loadExpression() cleans up previously allocated expression */
3038 if(msyysource == MS_URL_TOKENS) {
3039 if(msValidateParameter(class->expression.string, msLookupHashTable(&(class->validation), "expression"), msLookupHashTable(&(layer->validation), "expression"), msLookupHashTable(&(map->web.validation), "expression"), NULL) != MS_SUCCESS) {
3040 msSetError(MS_MISCERR, "URL-based EXPRESSION configuration failed pattern validation." , "loadClass()");
3041 freeExpression(&(class->expression));
3042 return(-1);
3043 }
3044 }
3045 break;
3046 case(GROUP):
3047 if(getString(&class->group) == MS_FAILURE) return(-1); /* getString() cleans up previously allocated string */
3048 if(msyysource == MS_URL_TOKENS) {
3049 if(msValidateParameter(class->group, msLookupHashTable(&(class->validation), "group"), msLookupHashTable(&(layer->validation), "group"), msLookupHashTable(&(map->web.validation), "group"), NULL) != MS_SUCCESS) {
3050 msSetError(MS_MISCERR, "URL-based GROUP configuration failed pattern validation." , "loadClass()");
3051 msFree(class->group); class->group=NULL;
3052 return(-1);
3053 }
3054 }
3055 break;
3056 case(KEYIMAGE):
3057 if(getString(&class->keyimage) == MS_FAILURE) return(-1); /* getString() cleans up previously allocated string */
3058 if(msyysource == MS_URL_TOKENS) {
3059 if(msValidateParameter(class->keyimage, msLookupHashTable(&(class->validation), "keyimage"), msLookupHashTable(&(layer->validation), "keyimage"), msLookupHashTable(&(map->web.validation), "keyimage"), NULL) != MS_SUCCESS) {
3060 msSetError(MS_MISCERR, "URL-based KEYIMAGE configuration failed pattern validation." , "loadClass()");
3061 msFree(class->keyimage); class->keyimage=NULL;
3062 return(-1);
3063 }
3064 }
3065 break;
3066 case(LABEL):
3067 class->label.size = MS_MEDIUM; /* only set a default if the LABEL section is present */
3068 if(loadLabel(&(class->label)) == -1) return(-1);
3069 break;
3070 case(MAXSCALE):
3071 case(MAXSCALEDENOM):

Callers 2

msUpdateClassFromStringFunction · 0.85
loadLayerFunction · 0.85

Calls 15

getSymbolFunction · 0.85
msSetErrorFunction · 0.85
loadExpressionFunction · 0.85
msValidateParameterFunction · 0.85
msLookupHashTableFunction · 0.85
freeExpressionFunction · 0.85
getStringFunction · 0.85
msFreeFunction · 0.85
loadLabelFunction · 0.85
getDoubleFunction · 0.85
loadHashTableFunction · 0.85
getIntegerFunction · 0.85

Tested by

no test coverage detected