Program: gdcm
Module: $RCSfile: gdcmArgMgr.cxx,v $
Language: C++
- Date: $Date: 2005/06/08 08:06:55 $
- Version: $Revision: 1.3 $
+ Date: $Date: 2005/06/09 09:36:51 $
+ Version: $Revision: 1.8 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmArgMgr.h"
-#define ARG_DEFAULT_PARAMOUT "fileout.par"
-#define ARG_DEFAULT_LOGFILE "gdcm.log"
-
-
namespace gdcm
{
//-------------------------------------------------------------------------
* @param argc arguments count, as passed to main()
* @param argv pointers array on the arguments passed to main()
*/
- ArgMgr::ArgMgr(int argc, char *argv[])
+ ArgMgr::ArgMgr(int argc, char **argv)
{
int i;
int nblettre;
* @param usage array of pointers to the documentation lines of the program.
* @return exception code
*/
-int ArgMgr::ArgMgrUsage(char **usage_text )
+int ArgMgr::ArgMgrUsage(const char **usage )
{
- while ( *usage_text )
- std::cout << std::endl << *(usage_text++);
+ while ( *usage )
+ std::cout << std::endl << *(usage++);
std::cout << std::endl;
return (0);
}
* @param usage Usage program (displayed if label not found)
* @return int : range of value amongst the values list
*/
-int ArgMgr::ArgMgrWantLabel (char *label, char *liste, char *usage[] )
+int ArgMgr::ArgMgrWantLabel (char *label, char *liste, const char **usage )
{
char *lab;
char *vallab;
* @param usage Usage program (displayed if label not found)
* @return parameter value
*/
-int ArgMgr::ArgMgrWantInt (char *label, char **usage)
+int ArgMgr::ArgMgrWantInt (char *label, const char **usage)
{
return ( (ArgMgrDefined(label) )
? (atoi(ArgMgrValue(label) ) )
* @param usage Usage program (displayed if label not found)
* @return parameter value
*/
-float ArgMgr::ArgMgrWantFloat (char *label, char **usage)
+float ArgMgr::ArgMgrWantFloat (char *label, const char **usage)
{
return ( (ArgMgrDefined(label) )
? ((float)atof(ArgMgrValue(label) ) )
- : (ArgMgrUsage(usage),1.0) );
+ : (ArgMgrUsage(usage),(float)1.0) );
}
/**
* @param usage Usage program (displayed if label not found)
* @return parameter value
*/
-char *ArgMgr::ArgMgrWantString(char *label, char **usage)
+char *ArgMgr::ArgMgrWantString(char *label, const char **usage)
{
return ( (ArgMgrDefined(label) )
? (ArgMgrValue(label) )
* @return Pointer to the array
* Pointer NULL if error
*/
-char **ArgMgr::ArgMgrGetListOfString ( char *label, int *nbElem )
+char **ArgMgr::ArgMgrGetListOfString ( char *label, int *number )
{
int taille;
char *value = ArgMgrValue(label);
char *chainecur;
if (!value)
return 0;
- *nbElem = IdStrCountChar(value,',')+1; /* nb Elements = nb Commas +1 */
- taille = *nbElem;
+ *number = IdStrCountChar(value,',')+1; /* nb Elements = nb Commas +1 */
+ taille = *number;
liste = (char **) malloc (sizeof(char*) * taille + strlen(value)+1);
if ( !liste )
return 0;
}
/**
- * \brief renvoie 1 tableau contenant un ensemble de paires d'entiers
- * @param value pointer vers la zone allouee contenant les
- * intervalles (deb1,fin1, deb2,fin2, ...)
- * @param number Pointer vers le nb de paires trouvees
- * @return 1 tableau contenant un ensemble de paires d'entiers
+ * \brief returns an array of set of 'INT pairs'
+ * @param value char array decribing a set of 'INT pairs' (deb1,fin1, deb2,fin2, ...)
+ * @param number nb of found pairs
+ * @return array of set of 'INT pairs'
*/
int *ArgMgr::IdStrIntEnum ( char* value, int *number)
{
int taille;
int i;
- *number = IdStrCountChar(value,',')+1; /* nb Elements = nb Virgules +1 */
+ *number = IdStrCountChar(value,',')+1; /* nb Elements = nb Commas +1 */
taille= *number;
liste = (int *) calloc (1,sizeof(int)*2*taille );
if ( !liste )
}
return liste;
}
-
+
/**
- * \brief renvoie 1 tableau contenant un ensemble de 'paires' de FLOAT
- * @param value pointer vers la zone allouee contenant les
- * paires (deb1,fin1, deb2,fin2, ...)
- * @param number Pointer vers le nb de paires trouvees
- * @return tableau contenant un ensemble de 'paires' de FLOAT
+ * \brief returns an array a set of 'FLOAT pairs'
+ * @param value char array decribing a set of 'FLOAT pairs' (deb1,fin1, deb2,fin2, ...)
+ * @param number nb of found pairs
+ * @return array of set of 'FLOAT pairs'
*/
float *ArgMgr::IdStrFloatEnum (char *value, int *number)
{
float *liste;
int taille;
int i;
- *number = IdStrCountChar(value,',')+1; /* nb Elements = nb Virgules +1 */
+ *number = IdStrCountChar(value,',')+1; /* nb Elements = nb Commas +1 */
taille= *number;
liste = (float *) calloc (1,sizeof(float)*2*taille );
if ( !liste )
/*------------------------------------------------------------------------
| Role : Reads a parameter from a file
- | Retour : Type : char *
+ | Return : Type : char *
| Role : pointer to the label
| parameters : param : char *
| Role : one where the parameter will be stored
/*------------------------------------------------------------------------
| Role : Reading of arguments in a parameter file
| (this function is recursive).
- | Retour : Type : int
+ | Return : Type : int
| Role : length needed to store all the parameters
| parameters : filename : char *
| Role : parameter File name
/*------------------------------------------------------------------------
| Role : Standard parameters management (on command line)
- | Retour : Type : void
+ | Return : Type : void
| parameters : none
+------------------------------------------------------------------------*/
void ArgMgr::ArgStdArgs()
char *logfile;
FILE *fd;
- if ( (ArgParamOut=ArgMgrValue(ARG_LABEL_PARAMOUT))==0 )
+ if ( (ArgParamOut=ArgMgrValue((char*)ARG_LABEL_PARAMOUT))==0 )
ArgParamOut = ARG_DEFAULT_PARAMOUT;
- if ( (logfile = ArgMgrValue(ARG_LABEL_LOGFILE))!=0)
+ if ( (logfile = ArgMgrValue((char*)ARG_LABEL_LOGFILE))!=0)
{
if ( *logfile == '\0' )
- logfile = ARG_DEFAULT_LOGFILE;
+ logfile = (char *)ARG_DEFAULT_LOGFILE;
fd = fopen ( logfile, "a+" );
if ( fd )
{
/*------------------------------------------------------------------------
| Role : Sets in Upper Case.
- | Retour : Type : char *
+ | Return : Type : char *
| parameters : char *
+------------------------------------------------------------------------*/
char *ArgMgr::maj ( char *a )