#include "AxisConfigurationLibraries.hpp" | |
char * CreateConfigElement( LIST * psDLLNames, int * piConfigInfoArray, CHOICELIST * psChoiceList, ECONFIGTYPE eConfigType) | |
{ | |
int iIndex = 0; | |
bool bFound = false; | |
char * pszConfigName = "<unknown name>"; | |
static std::string sReturn; | |
while( iIndex < eConfigMax && !bFound) | |
{ | |
if( psChoiceList[iIndex].eConfigType == eConfigType) | |
{ | |
bFound = true; | |
pszConfigName = psChoiceList[iIndex].pszConfigName; | |
} | |
else | |
{ | |
iIndex++; | |
} | |
} | |
if( bFound) | |
{ | |
if( eConfigType == eSSLOptions) | |
{ | |
sReturn = "# "; | |
sReturn += psChoiceList[iIndex].pszElementDescription; | |
sReturn += "\n"; | |
} | |
else | |
{ | |
sReturn = "# Path to "; | |
sReturn += psChoiceList[iIndex].pszElementDescription; | |
sReturn += "\n"; | |
} | |
} | |
else | |
{ | |
sReturn = "# Path to an unknown element\n"; | |
} | |
char szReturn[256]; | |
if( piConfigInfoArray[eConfigType] != -1) | |
{ | |
sprintf( szReturn, "%s:%s\n\n", pszConfigName, ((DLLNAMEINFO *)(psDLLNames->ppArray[piConfigInfoArray[eConfigType]]))->pszDLLFilename); | |
} | |
else | |
{ | |
sprintf( szReturn, "#%s:<not set>\n\n", pszConfigName); | |
} | |
sReturn += szReturn; | |
return (char *) sReturn.c_str(); | |
} | |
char * GetTagValue( LIST * psDLLNames, int * piConfigInfoArray, ECONFIGTYPE eConfigType) | |
{ | |
char * pszTagValue = NULL; | |
if( piConfigInfoArray[eConfigType] != -1) | |
{ | |
pszTagValue = ((DLLNAMEINFO *)(psDLLNames->ppArray[piConfigInfoArray[eConfigType]]))->pszDLLFilename; | |
} | |
return pszTagValue; | |
} | |
void Initialise( LIST * psDLLNames, int * piConfigInfoArray, LIST * psFileNameList, char ** ppsDefaultParamList, char * pszAxisCpp_Deploy, int iAxisCpp_Deploy) | |
{ | |
memset( psDLLNames, 0, sizeof( LIST)); | |
memset( psFileNameList, 0, sizeof( LIST)); | |
memset( pszAxisCpp_Deploy, 0, iAxisCpp_Deploy); | |
for( int iCount = 0; iCount < eConfigMax; iCount++) | |
{ | |
piConfigInfoArray[iCount] = -1; | |
ppsDefaultParamList[iCount] = NULL; | |
} | |
} | |
void Destroy( LIST * psDLLNames, LIST * psFileNameList, char ** ppsDefaultParamList) | |
{ | |
int iCount; | |
for( iCount = 0; iCount < psDLLNames->iCount; iCount++) | |
{ | |
free( ((DLLNAMEINFO *) psDLLNames->ppArray[iCount])->pszDLLFilename); | |
free( ((DLLNAMEINFO *) psDLLNames->ppArray[iCount])->pszDLLName); | |
free( psDLLNames->ppArray[iCount]); | |
} | |
for( iCount = 0; iCount < psFileNameList->iCount; iCount++) | |
{ | |
free( psFileNameList->ppArray[iCount]); | |
} | |
free( psDLLNames->ppArray); | |
free( psFileNameList->ppArray); | |
for( iCount = 0; iCount < eConfigMax; iCount++) | |
{ | |
if( ppsDefaultParamList[iCount] != NULL) | |
{ | |
free( (void *) ppsDefaultParamList[iCount]); | |
} | |
} | |
} | |
int PopulateNewDLLNameInfo( LIST * psDLLNames, char * pszName, char * pszFilename, bool bAddToClientConfig) | |
{ | |
DLLNAMEINFO * psDLLNameInfo = (DLLNAMEINFO *) GetNextListElement( psDLLNames, sizeof( DLLNAMEINFO)); | |
if( pszName != NULL) | |
{ | |
psDLLNameInfo->pszDLLName = (char *) malloc( strlen( pszName) + 1); | |
strcpy( psDLLNameInfo->pszDLLName, pszName); | |
} | |
if( pszFilename != NULL) | |
{ | |
psDLLNameInfo->pszDLLFilename = (char *) malloc( strlen( pszFilename) + 1); | |
strcpy( psDLLNameInfo->pszDLLFilename, pszFilename); | |
} | |
psDLLNameInfo->bAddToClientConfig = bAddToClientConfig; | |
return psDLLNames->iCount - 1; | |
} | |
int GetChoiceIndexForConfigType( CHOICELIST * psChoiceList, ECONFIGTYPE eConfigType) | |
{ | |
int iIndex = 0; | |
bool bFound = false; | |
while( iIndex < eConfigMax && !bFound) | |
{ | |
if( psChoiceList[iIndex].eConfigType == eConfigType) | |
{ | |
bFound = true; | |
} | |
else | |
{ | |
iIndex++; | |
} | |
} | |
if( !bFound) | |
{ | |
iIndex = -1; | |
} | |
return iIndex; | |
} |