From c48659057eb29caf0e75cfd79a7d17399e28775f Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Fri, 10 Jan 2020 15:21:03 +0100 Subject: [PATCH] Added a mode to get only user tokens --- loginscreen.cpp | 2 +- loginscreen.h | 2 +- main.cpp | 33 +++++++++++++++++++++++++++++++-- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/loginscreen.cpp b/loginscreen.cpp index 2b06551..05c558b 100644 --- a/loginscreen.cpp +++ b/loginscreen.cpp @@ -23,7 +23,7 @@ enum CursorPos { SUBMIT = 2 }; -bool LoginScreen::exec() +bool LoginScreen::exec(bool startApp) { initscr(); /* Start curses mode */ keypad(stdscr, TRUE); // Listen to function keys diff --git a/loginscreen.h b/loginscreen.h index b8868ab..6f4fdc9 100644 --- a/loginscreen.h +++ b/loginscreen.h @@ -11,7 +11,7 @@ class LoginScreen public: LoginScreen(); - bool exec(); + bool exec(bool startApp = true); private: void getCredentials(std::string &email, std::string &pass); diff --git a/main.cpp b/main.cpp index e094a1f..2520cab 100644 --- a/main.cpp +++ b/main.cpp @@ -1,19 +1,48 @@ #include +#include + #include "api_request.h" #include "loginscreen.h" using namespace std; -int main() +int main(int argc, char **argv) { cout << "Comunic Term (c) Pierre HUBERT" << endl; + bool onlyGetTokens = false; + + if(argc > 1) { + string arg = argv[1]; + + // Show help + if(arg == "help") { + cout << "Usage: " << endl; + cout << "* help : Show this help" << endl; + cout << "* getTokens : Get login token ONLY" << endl; + return 0; + } + + // Get login tokens + if(arg == "getTokens") { + cout << "Getting only login tokens..." << endl; + onlyGetTokens = true; + } + + } + // First, we need to sign in user - if(!LoginScreen().exec()) { + if(!LoginScreen().exec(!onlyGetTokens)) { cerr << "Could not sign in user!" << endl; return -1; } + if(onlyGetTokens) { + const auto tokens = AccountHelper::loginTokens(); + cout << "Token 1: " << tokens[0] << endl; + cout << "Token 2: " << tokens[1] << endl; + } + return 0; }