tox_ngc_ft1_tool/src/command_line.hpp

78 lines
1.3 KiB
C++
Raw Normal View History

#pragma once
#include <string>
// meta:
// -v version info
// -V verbose
// -h help
//
// connectivity:
// -G <chat_id>
// -F profile.tox
2023-01-14 02:03:32 +01:00
// -N <self_name>
// will print friend id at startup
// will autoaccept any invite
// if no -F give, will not save profile.
// if profile exists load, otherwise create new
//
// transfer variant:
2023-01-14 23:18:10 +01:00
// -a id1/sha1_single/sha1_info/sha2_single/sha2_info
//
// send:
// -f send_this_file.zip
//
// receive:
// -d dump/everything/in/this/dir
// -D <id/hash> (what to dl)
2023-01-14 23:18:10 +01:00
enum class TransferE {
INVALID,
ID,
SHA1_SINGLE, // a single chunk (no filename is transfered)
SHA1_INFO,
//...
};
struct CommandLine {
std::string exe;
// meta:
// -v
bool version {false};
// -V
bool verbose {false};
// -h
bool help {false};
// connectivity:
// -G <chat_id>
std::string chat_id;
// -F profile.tox
std::string profile_path;
2023-01-14 02:03:32 +01:00
// -N <self_name>
std::string self_name {"tox_ngc_tf1_tool"};
// transfer variant:
2023-01-14 23:18:10 +01:00
// -a id1/sha1_single/sha1_info/sha2_single/sha2_info
TransferE transfer_variant {TransferE::INVALID};
// send:
// -f send_this_file.zip
std::string send_path;
// receive:
// -d dump/everything/in/this/dir
std::string receive_dump_dir;
// -D <id/hash> (what to dl)
std::string receive_id;
CommandLine(int argc, char** argv);
void printHelp(void);
bool _should_exit {false};
};