#include "archinc.h"
#include "cli.h"
#include "clivar.h"

#include <stdio.h>

typedef enum {unused, integer, string, singleFloat} clivarType;

typedef struct cliVariable_tag {
  clivarType varType;
  char variableName[CONFIG_CLIVAR_VAR_LEN];
  char variableValue[CONFIG_CLIVAR_VAL_LEN];
  union {
    int sint;
    float single;
    } u;
  } cliVariable, *pCliVariable;

static cliVariable variableTable[CONFIG_CLIVAR_MAX_VARIABLES];
static int variableTableLen;

int addVariableHandler(int, char **, int);

int clivarInit(void)
{
  int i;

  variableTableLen = 0;

  // initialize all variables to unused
  for(i=0; i<CONFIG_CLIVAR_MAX_VARIABLES;i++)
    variableTable[i].varType = unused;

  cliRegisterCommand("varadd", addVariableHandler, NULL);
  return 0;
}

int addVariableHandler(int argc, char * argv[], int flags)
{
  int retVal = -1;
  
  printf("%s: [%d] arguments\n",argv[0],argc);

  if (variableTableLen == CONFIG_CLIVAR_MAX_VARIABLES)
    return retVal;

  if (argc != 3)
    return retVal;

  return retVal;
}

