My Project
Loading...
Searching...
No Matches
feResource.h File Reference
#include <sys/param.h>
#include "../factory/globaldefs.h"

Go to the source code of this file.

Data Structures

struct  feResourceConfig_s
 

Macros

#define DIR_SEP   '/'
 
#define DIR_SEPP   "/"
 
#define MAXPATHLEN   1024
 

Typedefs

typedef feResourceConfig_sfeResourceConfig
 

Enumerations

enum  feResourceType {
  feResUndef = 0 , feResBinary , feResDir , feResFile ,
  feResUrl , feResPath
}
 

Functions

char * feResource (const char id, int warn=-1)
 
char * feResource (const char *key, int warn=-1)
 
char * feGetResource (const char id, int warn=-1)
 
void feInitResources (const char *argv0)
 
void feReInitResources ()
 

Variables

EXTERN_VAR feResourceConfig_s feResourceConfigs []
 
EXTERN_VAR char * feArgv0
 
const char fePathSep = ':'
 

Data Structure Documentation

◆ feResourceConfig_s

struct feResourceConfig_s

Definition at line 22 of file feResource.h.

Data Fields
const char * env
const char * fmt
const char id
const char * key
feResourceType type
char * value

Macro Definition Documentation

◆ DIR_SEP

#define DIR_SEP   '/'

Definition at line 6 of file feResource.h.

◆ DIR_SEPP

#define DIR_SEPP   "/"

Definition at line 7 of file feResource.h.

◆ MAXPATHLEN

#define MAXPATHLEN   1024

Definition at line 10 of file feResource.h.

Typedef Documentation

◆ feResourceConfig

Definition at line 31 of file feResource.h.

Enumeration Type Documentation

◆ feResourceType

Enumerator
feResUndef 
feResBinary 
feResDir 
feResFile 
feResUrl 
feResPath 

Definition at line 20 of file feResource.h.

feResourceType
Definition feResource.h:20
@ feResBinary
Definition feResource.h:20
@ feResPath
Definition feResource.h:20
@ feResDir
Definition feResource.h:20
@ feResUrl
Definition feResource.h:20
@ feResUndef
Definition feResource.h:20
@ feResFile
Definition feResource.h:20

Function Documentation

◆ feGetResource()

char * feGetResource ( const char id,
int warn = -1 )

Definition at line 145 of file feResource.cc.

146{
147 return feResource(feGetResourceConfig(id), warn);
148}
static feResourceConfig feGetResourceConfig(const char id)
static char * feResource(feResourceConfig config, int warn)

◆ feInitResources()

void feInitResources ( const char * argv0)

Definition at line 160 of file feResource.cc.

161{
162 if (argv0==NULL)
163 {
164 //WarnS("illegal argv[0]==NULL");
165 feArgv0 = (char*)malloc(MAXPATHLEN+strlen("/Singular"));
166 getcwd(feArgv0, MAXPATHLEN);
167 strcat(feArgv0,"/Singular");
168 }
169 else
171#ifdef RESOURCE_DEBUG
172 printf("feInitResources(argv0: '%s'): entering...\n", feArgv0);
173#endif
174 // init some Resources
175 feResource('b');
176 feResource('r');
177 // don't complain about stuff when initializing SingularPath
178 feResource('s',0);
179 feResource('P');
180}
char * argv0
VAR char * feArgv0
Definition feResource.cc:19
#define strdup
Definition omAllocFunc.c:18
#define malloc
Definition omAllocFunc.c:12
#define NULL
Definition omList.c:12
#define MAXPATHLEN
Definition omRet2Info.c:22

◆ feReInitResources()

void feReInitResources ( )

Definition at line 182 of file feResource.cc.

183{
184 int i = 0;
185 while (feResourceConfigs[i].key != NULL)
186 {
187 if ((feResourceConfigs[i].value != NULL)
188 && (feResourceConfigs[i].value[0] != '\0'))
189 {
190 free(feResourceConfigs[i].value);
191 feResourceConfigs[i].value = (char *)"";
192 }
193 i++;
194 }
195#ifdef RESOURCE_DEBUG
196 printf("feInitResources(): entering...\n");
197#endif
198 // init some Resources
199 feResource('b');
200 feResource('r');
201 // don't complain about stuff when initializing SingularPath
202 feResource('s',0);
203}
int i
Definition cfEzgcd.cc:132
VAR feResourceConfig_s feResourceConfigs[]
Definition feResource.cc:41
#define free
Definition omAllocFunc.c:14

◆ feResource() [1/2]

char * feResource ( const char * key,
int warn = -1 )

Definition at line 135 of file feResource.cc.

136{
137 return feResource(feGetResourceConfig(key), warn);
138}

◆ feResource() [2/2]

char * feResource ( const char id,
int warn = -1 )

Definition at line 140 of file feResource.cc.

141{
142 return feResource(feGetResourceConfig(id), warn);
143}

Variable Documentation

◆ feArgv0

EXTERN_VAR char* feArgv0

Definition at line 56 of file feResource.h.

◆ fePathSep

const char fePathSep = ':'

Definition at line 58 of file feResource.h.

◆ feResourceConfigs

EXTERN_VAR feResourceConfig_s feResourceConfigs[]

Definition at line 33 of file feResource.h.