/*
*  enable() method
*
*    enable <node>
*
*/
int baselineEnable(nbCELL context,void *skillHandle,BTree *tree){
  int remaining;
  time_t utime;
  if(tree->options&BTREE_OPTION_TRACE) nbLogMsg(context,0,'T',"baselineEnable() called for baseline %s",tree->directory);
  tree->synapse=nbSynapseOpen(context,skillHandle,tree,NULL,treeAlarm);
  treeLoad(context,skillHandle,tree); // load baseline
  // set timer
  time(&utime);
  remaining=tree->interval-utime%tree->interval;
  nbSynapseSetTimer(context,tree->synapse,remaining);
  nbLogMsg(context,0,'I',"Enabled baseline %s",tree->directory);
  nbLogFlush(context);
  return(0);
  }
Exemple #2
0
/*
*  enable() method
*
*    enable <node>
*
*/
static int auditEnable(nbCELL context,void *skillHandle,nbAudit *audit){
  if(audit->trace) nbLogMsg(context,0,'T',"auditEnable() called %s using",audit->fileName,audit->translatorName);
  if((audit->file=fopen(audit->fileName,"r"))==NULL){
    nbLogMsg(context,0,'E',"Unable to open audit file \"%s\".",audit->fileName);
    return(1);
    }
  if((fseek(audit->file,0,SEEK_END))!=0){
    nbLogMsg(context,0,'L',"Failed fseek on \"%s\" - errno=%d.",audit->fileName,errno);
    fclose(audit->file);
    audit->file=NULL;
    return(1);
    }
  audit->pos=ftell(audit->file);
  if(fclose(audit->file)!=0) nbLogMsg(context,0,'L',"File close failed - errno=%d %s",errno,strerror(errno));
  audit->file=NULL;
  audit->synapseCell=nbSynapseOpen(context,skillHandle,audit,audit->scheduleCell,auditAlarm);
  nbLogMsg(context,0,'I',"Enabled audit of %s using %s",audit->fileName,audit->translatorName);
  nbLogFlush(context);
  return(0);
  }