void process_options()

in aws/kinesis/main.cc [123:168]


void process_options(int argc, char* const* argv) {
  int ch;

  while ((ch = getopt_long(argc, argv, "i:o:c:k:w:l:t", long_opts, NULL)) != -1) {
    switch (ch) {
    case 'i':
        options.input_pipe = std::string(optarg);
        break;
    case 'o':
        options.output_pipe = std::string(optarg);
        break;
    case 'c':
        options.configuration = std::string(optarg);
        break;
    case 'k':
        options.kinesis_credentials = std::string(optarg);
        break;
    case 'w':
        options.cloudwatch_credentials = std::string(optarg);
        break;
    case 'l':
        handle_log_level(optarg);
        break;
    case 't':
        options.enable_stack_trace = 1;
        break;
    case 'a':
        options.ca_path = std::string(optarg);
        break;
    default:
        usage(argv[0], "Unknown option: " + std::string(argv[optind]));
    }
  }
  if (options.input_pipe.empty()) {
      usage(argv[0], "-i, or --input-pipe is required.");
  }
  if (options.output_pipe.empty()) {
      usage(argv[0], "-o, or --output-pipe is required.");
  }
  if (options.configuration.empty()) {
      usage(argv[0], "-c, or --configuration is required.");
  }
  if (options.kinesis_credentials.empty()) {
      usage(argv[0], "-k, or --kinesis-credentials is required.");
  }
}