#include <stdio.h>
#include "MissionPlan.h"

/*

Checking for valid behavior attributes requires that the behavior
object is already created... this is a real drawback, as some behavior
construction may require presence of servers such as Navigation!

Each Behavior object contains an Attributes object, which is filled
in at Behavior construction time. Attributes::parse() is called to 
validate a user-input attribute=value pair. 

*/

int main(int argc, char **argv) {

  if (argc != 2) {
    fprintf(stderr, "usage: %s planfile\n", argv[0]);
    return -1;
  }

  char *planFile = argv[1];
  BehaviorStack behaviors;

  MissionPlan *plan = new MissionPlan();
  int result = plan->load(planFile, &behaviors);

  if (result == -1) {
    fprintf(stderr, "Error in mission plan file\n");
  }
  else {
    fprintf(stderr, "Mission plan file is okay\n");
  }

  delete plan;
  return result;
}

