Files
WrenchBoradWeb/wrenchboard/src/include/cvariables.h
T
2019-05-31 11:26:35 -04:00

62 lines
1.7 KiB
C++

#ifndef __cvariables__
#define __cvariables__
#include "stdarg.h"
#include <stdio.h>
#define MAX_CGI_VAR_LEN 50
typedef struct _L_Variables
{
char name[MAX_CGI_VAR_LEN+1];
char * value;
int opts; // options? used by some decendants
struct _L_Variables * next;
} L_Variables;
class CVariables
{
public:
friend class CGIList;
CVariables( );
~CVariables( );
void RenameVariable( const char * name, const char * newname );
void LetInt16( char * var, const int value ); // Set the variable to an integer value
void LetStr( const char * var, const char * value ); // Set the variable to a string value
void LetStrf( char * var, const char * format, ... );
void vLetStrf( char * var, const char * format, va_list ap );
void LetStr( char * var, const char * value, int len );
// Set the variable to a string value and truncate to len
void StrCat( char * var, const char * format, ... );
void StrCatf( char * var, const char * format, ... );
char * GetVariable( const char * var ); // Obtain the variable value and return its temp location
char * GetVariable( const char * var, char * result, int size );
// Obtain the variable value and return it in 'result'
char * GetVariable( const char * var, bool test, char * section = "" );
long GetVariableLong( char * name, bool *valid = NULL );
long GetVariableLong( char * name, bool test, char * section = "" );
bool GetBool( char * var, bool test = false, char * section = "" );
void PrintVars( FILE * f = stdout ); // Print out all variables to file pointed to by 'f'
void Cleanup();
L_Variables * var, * var_top;
L_Variables * FindVariable( const char * var, bool create=false );
// Obtains the next variable during the template parsing process
};
#endif