47 static void printHelp(std::ostream &os,
const std::string &command)
50 os << command <<
" [<args>]\n";
52 os <<
"-h, --help Show this help and exit\n";
53 os <<
"-f name=<name> Filter by name\n";
54 os <<
"-f serial=<serial> Filter by serial number\n";
55 os <<
"-f mac=<mac> Filter by MAC address\n";
56 os <<
"-f iface=<mac> Filter by interface name\n";
57 os <<
"-f model=<model> Filter by model name\n";
58 os <<
"-y Assume 'yes' for all queries\n";
61 int runReconnect(
const std::string &command,
int argc,
char **argv)
69 std::string p=argv[i++];
81 catch (
const std::invalid_argument &ex)
83 std::cerr << ex.what() << std::endl;
88 else if (p ==
"-h" || p ==
"--help")
95 std::cerr <<
"Invalid argument: " << p <<
'\n';
101 if (device_filter.mac.empty() &&
102 device_filter.name.empty() &&
103 device_filter.serial.empty())
105 std::cerr <<
"No filter set" << std::endl;
114 std::cout <<
"No device found" << std::endl;
118 std::cout <<
"Reconnecting the following devices:\n";
123 std::cout <<
"Are you sure? [y/N] ";
125 std::getline(std::cin, answer);
126 if (answer !=
"y" && answer !=
"Y")
128 std::cout <<
"Cancel" << std::endl;
133 for (
const auto &device : devices)
139 std::cout <<
"Done" << std::endl;
void sendCommand(std::uint64_t mac, std::uint32_t ip, std::uint32_t subnet, std::uint32_t gateway)
Send FORCEIP_CMD.
Class for sending GigE Vision FORCEIP_CMD to camera.
std::vector< rcdiscover::DeviceInfo > discoverWithFilter(const DeviceFilter &filter)
void printDeviceTable(std::ostream &oss, const std::vector< rcdiscover::DeviceInfo > &devices, bool print_header, bool iponly, bool serialonly)
int parseFilterArguments(int argc, char **argv, DeviceFilter &filter)
int runReconnect(const std::string &command, int argc, char **argv)
static void printHelp(std::ostream &os, const std::string &command)