Program: gdcm
Module: $RCSfile: gdcmArgMgr.h,v $
Language: C++
- Date: $Date: 2005/06/07 07:46:50 $
- Version: $Revision: 1.2 $
+ Date: $Date: 2005/06/09 11:27:54 $
+ Version: $Revision: 1.7 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#define ___ARG_MGR__
#include "gdcmCommon.h"
+#include <stdio.h> // for FILE
#include <stdlib.h> // For atof
namespace gdcm
{
-#define ID_RFILE_TEXT "rt"
-#define ARGMAXCOUNT 100 // Maximum number of arguments
-#define ARG_LONG_MAX 1000
+#define ID_RFILE_TEXT "rt"
+#define ARGMAXCOUNT 100 // Maximum number of arguments
+#define ARG_LONG_MAX 1000
// default file name
-#define ARG_DEFAULT_PARAMOUT "fileout.par"
-#define ARG_DEFAULT_LOGFILE "gdcm.log"
+#define ARG_DEFAULT_PARAMOUT "fileout.par"
+#define ARG_DEFAULT_LOGFILE "gdcm.log"
-#define ARG_LABEL_LOGFILE "LOG"
-#define ARG_LABEL_PARAMOUT "paramout"
+#define ARG_LABEL_LOGFILE "LOG"
+#define ARG_LABEL_PARAMOUT "paramout"
-#define START_USAGE(usage) char *usage[] = {
+#define START_USAGE(usage) const char *usage[] = {
#define FINISH_USAGE 0};
//-----------------------------------------------------------------------------
ArgMgr(int argc, char **argv);
~ArgMgr();
- int ArgMgrDefined (char *); /* Checks if Param is defined*/
- char *ArgMgrValue (char *); /* Returns Param value */
- char *ArgMgrUnused (void); /* Returns a never used arg. */
- int ArgMgrSave (char *); /* Save of parameters out */
- int ArgMgrUsage (char **); /* Display program usage */
- int ArgMgrPrintUnusedLabels (void); /* Prints unused labels */
-
- int ArgMgrGetInt (char*, int); /* Gets an int (with default value) */
- float ArgMgrGetFloat (char*, float);/* Gets a float (with default value) */
- char *ArgMgrGetString(char*, char*);/* Gets a string (with default value) */
- int ArgMgrGetLabel (char *, char *, int);
+ int ArgMgrDefined (const char *param);/* Checks if Param is defined*/
+ char *ArgMgrValue (const char *param);/* Returns Param value */
+ char *ArgMgrUnused (void); /* Returns a never used arg. */
+ int ArgMgrSave (char *); /* Save of parameters out */
+ int ArgMgrUsage (const char **usage); /* Display program usage */
+ int ArgMgrPrintUnusedLabels (void); /* Prints unused labels */
+
+ int ArgMgrGetInt (const char *param, int); /* Gets an int (with default value)*/
+ float ArgMgrGetFloat (const char *param, float);/* Gets a float (with default value)*/
+ char *ArgMgrGetString(const char *param, char*);/* Gets a string (with default value)*/
+ int ArgMgrGetLabel (const char *param, char *, int);
- int ArgMgrWantInt (char*, char**); /* Demands an int */
- float ArgMgrWantFloat (char*, char**); /* Demands a float */
- char *ArgMgrWantString(char*, char**); /* Demands a string */
- int ArgMgrWantLabel (char*, char *, char **);
+ int ArgMgrWantInt (const char *param, const char **usage); /* Demands an int */
+ float ArgMgrWantFloat (const char *param, const char **usage); /* Demands a float */
+ char *ArgMgrWantString(const char *param, const char **usage); /* Demands a string */
+ int ArgMgrWantLabel (const char *param, char *, const char **usage);
- int *ArgMgrGetListOfInt (char *, int *); /* Gets a list of int */
- float *ArgMgrGetListOfFloat (char *, int *); /* Gets a list of float */
- char **ArgMgrGetListOfString(char *, int *); /* Gets a list of string */
+ int *ArgMgrGetListOfInt (const char *param, int *); /* Gets a list of int */
+ float *ArgMgrGetListOfFloat (const char *param, int *); /* Gets a list of float */
+ char **ArgMgrGetListOfString(const char *param, int *); /* Gets a list of string */
- int * ArgMgrGetIntEnum (char *, int *); /* Gets a list of int intervals */
- float * ArgMgrGetFloatEnum (char *, int *); /* Gets a list of float intervals*/
+ int * ArgMgrGetIntEnum (const char *param, int *); /* Gets a list of int pairs */
+ float * ArgMgrGetFloatEnum (const char *param, int *); /* Gets a list of float pairs*/
private :
- int FiltreLong (char *);
- char *LoadedParam (char *, FILE *);
- int ArgLoadFromFile (char *);
- void ArgStdArgs (void);
+ int FiltreLong (char *);
+ const char *LoadedParam(const char *, FILE *);
+ int ArgLoadFromFile (char *);
+ void ArgStdArgs (void);
// These ones are 'general purpose methods'
char *maj (char *);
- char *Majuscule (char *);
+ char *Majuscule (const char *);
int IdStrCountChar (char *chaine, int caract);
int *IdStrIntEnum (char* value, int *number);
float *IdStrFloatEnum (char* value, int *number);
private :
- char *ArgParamOut; /* Output File Name for param */
+ const char *ArgParamOut; /* Output File Name for param */
char *ArgUsed; /* Used Arguments */
char *ArgLab[ARGMAXCOUNT]; /* Arguments Labels */