From 5af331334d4f347cc56d7876426c4275c41a5e4b Mon Sep 17 00:00:00 2001 From: amazing-username Date: Wed, 22 Feb 2017 21:27:06 -0600 Subject: [PATCH] Need to switch from bash-based to c++ based --- AlterBrightness.cpp | 104 ++++++++++++++++++++++++++++++++++++++++++ AlterBrightness.h | 39 ++++++++++++++++ BrightnessControl.cpp | 22 +++++++++ 3 files changed, 165 insertions(+) create mode 100644 AlterBrightness.cpp create mode 100644 AlterBrightness.h create mode 100644 BrightnessControl.cpp diff --git a/AlterBrightness.cpp b/AlterBrightness.cpp new file mode 100644 index 0000000..2c97b58 --- /dev/null +++ b/AlterBrightness.cpp @@ -0,0 +1,104 @@ +#include +#include +#include +#include "AlterBrightness.h" +using namespace std; + +AlterBrightness::AlterBrightness() +{ +} +AlterBrightness::AlterBrightness(unsigned& change, unsigned& current, unsigned& max) +{ + increment = change; + decrement = change; + currentBrightness = current; + maxBrightness = max; +} + +void AlterBrightness::setIncrement(unsigned& change) +{ + increment = change; +} +void AlterBrightness::setDecrement(unsigned& change) +{ + decrement = change; +} +void AlterBrightness::setCurrentBrightness(unsigned& current) +{ + currentBrightness = current; +} +void AlterBrightness::setMaxBrightness(unsigned& max) +{ + maxBrightness = max; +} + +void AlterBrightness::chooseChange(char* changeChoice[]) +{ + ofstream s; + s.open("/sys/class/backlight/intel_backlight/brightness", ios::out); + //std::cout << changeChoice << std::endl; + //if (1) + // std::cout << changeChoice.compare("inc") << std::endl; + //else + // std::cout << "0 is not true" << std::endl; + //if (changeChoice.compare(AlterBrightness::getIncrease()) == 0) + if (strcmp(*changeChoice, AlterBrightness::getIncrease()) == 0) + { + AlterBrightness::increaseBrightness(); + std::cout << "Increase" << std::endl; + std::cout << AlterBrightness::getCurrentBrightness(); + s << AlterBrightness::getCurrentBrightness(); + } + else + { + AlterBrightness::decreaseBrightness(); + std::cout << AlterBrightness::getCurrentBrightness(); + s << AlterBrightness::getCurrentBrightness(); + } + s.close(); +} +void AlterBrightness::increaseBrightness() +{ + if (AlterBrightness::getCurrentBrightness() + AlterBrightness::getIncrement() < AlterBrightness::getMaxBrightness()) + { + currentBrightness = AlterBrightness::getCurrentBrightness() + AlterBrightness::getIncrement(); + } + else + currentBrightness = AlterBrightness::getMaxBrightness(); +} +void AlterBrightness::decreaseBrightness() +{ + if (AlterBrightness::getCurrentBrightness() - AlterBrightness::getDecrement() > 0) + { + currentBrightness = AlterBrightness::getCurrentBrightness() - AlterBrightness::getDecrement(); + } + else + currentBrightness = 1; +} + + +unsigned AlterBrightness::getIncrement() const +{ + return increment; +} +unsigned AlterBrightness::getDecrement() const +{ + return decrement; +} +unsigned AlterBrightness::getCurrentBrightness() const +{ + return currentBrightness; +} +unsigned AlterBrightness::getMaxBrightness() const +{ + return maxBrightness; +} + +char* AlterBrightness::getIncrease() +{ + return increase; +} +char* AlterBrightness::getDecrease() +{ + return decrease; +} diff --git a/AlterBrightness.h b/AlterBrightness.h new file mode 100644 index 0000000..81f1fd1 --- /dev/null +++ b/AlterBrightness.h @@ -0,0 +1,39 @@ +#ifndef ALTERBRIGHTNESS_H +#define ALTERBRIGHTNESS_H +#include +#include + +class AlterBrightness +{ +public: + AlterBrightness(); + + AlterBrightness(unsigned&, unsigned&, unsigned&); + + void setIncrement(unsigned&); + void setDecrement(unsigned&); + void setCurrentBrightness(unsigned&); + void setMaxBrightness(unsigned&); + + void chooseChange(char*[]); + void increaseBrightness(); + void decreaseBrightness(); + + unsigned getIncrement() const; + unsigned getDecrement() const; + unsigned getCurrentBrightness() const; + unsigned getMaxBrightness() const; + + char* getIncrease(); + char* getDecrease(); + +private: + unsigned increment; + unsigned decrement; + unsigned currentBrightness; + unsigned maxBrightness; + char* increase = "inc"; + char* decrease = "dec"; +}; + +#endif diff --git a/BrightnessControl.cpp b/BrightnessControl.cpp new file mode 100644 index 0000000..197029d --- /dev/null +++ b/BrightnessControl.cpp @@ -0,0 +1,22 @@ +#include +#include "AlterBrightness.h" + +int main(int argc, char* argv[]) +{ + AlterBrightness ab; + char* ci = "sdfsdfd"; + char* control[strlen(*(argv + 1))] = {*(argv + 1)}; + unsigned changeAmount = atoi(*(argv + 2)); + unsigned currentBrightness = atoi(*(argv + 3)); + unsigned maxBrightness = atoi(*(argv + 4)); + + ab.setIncrement(changeAmount); + ab.setDecrement(changeAmount); + ab.setCurrentBrightness(currentBrightness); + ab.setMaxBrightness(maxBrightness); + + std::string ctl(*(control)); + ab.chooseChange((control)); + + return 0; +}