My Project
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
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 155 of file feResource.cc.

156{
157 return feResource(feGetResourceConfig(id), warn);
158}
static feResourceConfig feGetResourceConfig(const char id)
Definition: feResource.cc:235
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:258

◆ feInitResources()

void feInitResources ( const char *  argv0)

Definition at line 170 of file feResource.cc.

171{
172 if (argv0==NULL)
173 {
174 //WarnS("illegal argv[0]==NULL");
175 feArgv0 = (char*)malloc(MAXPATHLEN+strlen("/Singular"));
176 getcwd(feArgv0, MAXPATHLEN);
177 strcat(feArgv0,"/Singular");
178 }
179 else
181#ifdef RESOURCE_DEBUG
182 printf("feInitResources(argv0: '%s'): entering...\n", feArgv0);
183#endif
184 // init some Resources
185 feResource('b');
186 feResource('r');
187 // don't complain about stuff when initializing SingularPath
188 feResource('s',0);
189 feResource('P');
190
191#if defined(HAVE_SETENV) || defined(HAVE_PUTENV)
192 char* path = feResource('p');
193#ifdef RESOURCE_DEBUG
194 printf("feInitResources(argv0): setting path with '%s'\n", path);
195#endif
196#ifdef HAVE_PUTENV
197 if (path != NULL) { char *s=(char *)malloc(strlen(path)+6);
198 sprintf(s,"PATH=%s",path);
199 putenv(s);
200 }
201#else
202 if (path != NULL) setenv("PATH", path, 1);
203#endif
204#endif
205}
#define NULL
Definition: auxiliary.h:104
char * argv0
const CanonicalForm int s
Definition: facAbsFact.cc:51
VAR char * feArgv0
Definition: feResource.cc:19
#define strdup
Definition: omAllocFunc.c:19
#define MAXPATHLEN
Definition: omRet2Info.c:22
void * malloc(size_t size)
Definition: omalloc.c:92

◆ feReInitResources()

void feReInitResources ( )

Definition at line 207 of file feResource.cc.

208{
209 int i = 0;
210 while (feResourceConfigs[i].key != NULL)
211 {
212 if ((feResourceConfigs[i].value != NULL)
213 && (feResourceConfigs[i].value[0] != '\0'))
214 {
215 free(feResourceConfigs[i].value);
216 feResourceConfigs[i].value = (char *)"";
217 }
218 i++;
219 }
220#ifdef RESOURCE_DEBUG
221 printf("feInitResources(): entering...\n");
222#endif
223 // init some Resources
224 feResource('b');
225 feResource('r');
226 // don't complain about stuff when initializing SingularPath
227 feResource('s',0);
228}
int i
Definition: cfEzgcd.cc:132
VAR feResourceConfig_s feResourceConfigs[]
Definition: feResource.cc:54
#define free
Definition: omAllocFunc.c:14

◆ feResource() [1/2]

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

Definition at line 145 of file feResource.cc.

146{
147 return feResource(feGetResourceConfig(key), warn);
148}

◆ feResource() [2/2]

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

Definition at line 150 of file feResource.cc.

151{
152 return feResource(feGetResourceConfig(id), warn);
153}

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.