From 1a892f06fbba65a3b276a4bea6ecf4ed8e6c5041 Mon Sep 17 00:00:00 2001 From: amazing-username Date: Sun, 2 Jul 2017 17:51:54 -0500 Subject: [PATCH] Added class to retrieve and store arguments --- AlterBrightness.h | 1 - Main.cpp | 17 ++++++++--------- RetrieveArguments.h | 38 ++++++++++++++++++++++++++++++++++++++ makefile | 4 ++-- 4 files changed, 48 insertions(+), 12 deletions(-) create mode 100644 RetrieveArguments.h diff --git a/AlterBrightness.h b/AlterBrightness.h index be603ac..77a29ad 100644 --- a/AlterBrightness.h +++ b/AlterBrightness.h @@ -30,7 +30,6 @@ public: void setBrightnessByPercentage(); std::vector getOptions(); - //std::ofstream getStreamToOverwriteBrightness(); int getIncrement() const; int getDecrement() const; diff --git a/Main.cpp b/Main.cpp index d3cd933..4df5d46 100644 --- a/Main.cpp +++ b/Main.cpp @@ -1,32 +1,31 @@ #include #include #include - #include "AlterBrightness.h" #include "Brightness.h" +#include"RetrieveArguments.h" int main(int argc, char* argv[]) { - + RetrieveArguments args{argc, argv}; Brightness br{}; if (argc == 3) { - std::string control{*(argv + 1)}; - auto changeAmount = atoi(*(argv + 2)); - auto brightnessPercentage = atoi(*(argv + 2)); + auto control{args.argumentElements()[1]}; + auto changeAmount = args.argumentElements()[2]; + auto brightnessPercentage = args.argumentElements()[2]; br.grabBrightness(); br.grabMaxBrightness(); AlterBrightness ab{}; - ab.setIncrement(changeAmount); - ab.setDecrement(changeAmount); - ab.setPercentageBrightness(brightnessPercentage); + ab.setIncrement(atoi(changeAmount.c_str())); + ab.setDecrement(atoi(changeAmount.c_str())); + ab.setPercentageBrightness(atoi(brightnessPercentage.c_str())); ab.chooseChange((control)); - } else if (argc == 2) { diff --git a/RetrieveArguments.h b/RetrieveArguments.h new file mode 100644 index 0000000..7d5c04e --- /dev/null +++ b/RetrieveArguments.h @@ -0,0 +1,38 @@ +#ifndef RETRIEVEARGUMENTS_H +#define RETRIEVEARGUMENTS_H + +#include +#include + +class RetrieveArguments +{ +public: + RetrieveArguments() = default; + RetrieveArguments(const int, char*[]); + + void initilize(const int, char*[]); + + std::vector argumentElements() const; + +private: + std::vector arguments; +}; +#endif + +RetrieveArguments::RetrieveArguments(const int amountOfArguments, char* argumentsFromInit[]) +{ + for (auto index=1; index!=amountOfArguments; ++index) + { + arguments.push_back(std::string{*(argumentsFromInit + index)}); + } +} + +void RetrieveArguments::initilize(const int amountOfArguments, char* argumentsFromInit[]) +{ + for (auto index=1; index!=amountOfArguments; ++index) + arguments.push_back(std::string{*(argumentsFromInit + index)}); +} +std::vector RetrieveArguments::argumentElements() const +{ + return arguments; +} diff --git a/makefile b/makefile index 2dd033c..e466dca 100644 --- a/makefile +++ b/makefile @@ -1,2 +1,2 @@ -Hot.out: AlterBrightness.cpp AlterBrightness.h Main.cpp Brightness.cpp Brightness.h - g++ AlterBrightness.cpp AlterBrightness.h Main.cpp Brightness.cpp Brightness.h -o Hot.out +Hot.out: AlterBrightness.cpp AlterBrightness.h Main.cpp Brightness.cpp Brightness.h RetrieveArguments.h + g++ AlterBrightness.cpp AlterBrightness.h Main.cpp Brightness.cpp Brightness.h RetrieveArguments.h -o Hot.out