Cleaned up code and added a feature to print current brightness

This commit is contained in:
amazing-username
2017-04-26 20:17:56 -05:00
parent 1614c15909
commit 755dd7fd9a
8 changed files with 139 additions and 246 deletions
+45 -109
View File
@@ -1,5 +1,4 @@
#include <iostream> #include <iostream>
//#include <cstring>
#include <ios> #include <ios>
#include "AlterBrightness.h" #include "AlterBrightness.h"
@@ -7,21 +6,17 @@ AlterBrightness::AlterBrightness()
{ {
currentBrightness = Brightness::getCurrentBrightness(); currentBrightness = Brightness::getCurrentBrightness();
maxBrightness = Brightness::getMaxBrightness(); maxBrightness = Brightness::getMaxBrightness();
AlterBrightness::options = new std::vector<std::string>;
initializeOptions(); initializeOptions();
overwriteBrightness = new std::ofstream; overwriteBrightness.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
(*overwriteBrightness).open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
} }
AlterBrightness::AlterBrightness(Brightness* br) AlterBrightness::AlterBrightness(const Brightness& br)
{ {
currentBrightness = (*br).getCurrentBrightness(); currentBrightness = br.getCurrentBrightness();
maxBrightness = (*br).getMaxBrightness(); maxBrightness = br.getMaxBrightness();
options = new std::vector<std::string>;
initializeOptions(); initializeOptions();
overwriteBrightness = new std::ofstream; overwriteBrightness.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
(*overwriteBrightness).open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
} }
AlterBrightness::AlterBrightness(const unsigned& change, const unsigned& current, const unsigned& max) AlterBrightness::AlterBrightness(const int& change, const int& current, const int& max)
{ {
increment = change; increment = change;
decrement = change; decrement = change;
@@ -29,103 +24,71 @@ AlterBrightness::AlterBrightness(const unsigned& change, const unsigned& current
maxBrightness = max; maxBrightness = max;
} }
AlterBrightness::~AlterBrightness() AlterBrightness::~AlterBrightness()
{ { }
delete options;
delete overwriteBrightness; void AlterBrightness::setIncrement(const int& change)
} { increment = change; }
void AlterBrightness::setDecrement(const int& change)
{ decrement = change; }
void AlterBrightness::setIncrement(const unsigned& change)
{
increment = change;
}
void AlterBrightness::setDecrement(const unsigned& change)
{
decrement = change;
}
/**
void AlterBrightness::setCurrentBrightness()
{
currentBrightness = current;
}
void AlterBrightness::setMaxBrightness()
{
maxBrightness = max;
}
*/
void AlterBrightness::setPercentageBrightness(const float& percent) void AlterBrightness::setPercentageBrightness(const float& percent)
{ { percentageBrightness = percent; }
percentageBrightness = percent;
}
void AlterBrightness::initializeOptions() void AlterBrightness::initializeOptions()
{ {
(*options).push_back("inc"); options.push_back("inc");
(*options).push_back("dec"); options.push_back("dec");
(*options).push_back("per"); options.push_back("per");
options.push_back("cur");
} }
void AlterBrightness::chooseChange(const std::string& changeChoice) void AlterBrightness::chooseChange(const std::string& changeChoice)
{ {
//std::ofstream s; if (options.at(0).compare(changeChoice) == 0)
//s.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
//std::cout << (*options).at(0) << std::endl;
//if (strcmp(*changeChoice, getIncrease()) == 0)
//if (strcmp(*changeChoice, (*options).at(0)) == 0)
if ((*options).at(0).compare(changeChoice) == 0)
{ {
increaseBrightness(); increaseBrightness();
std::cout << getCurrentBrightness() << std::endl; std::cout << getCurrentBrightness() << std::endl;
(*overwriteBrightness) << getCurrentBrightness(); overwriteBrightness << getCurrentBrightness();
} }
//else if (strcmp(*changeChoice, getDecrease()) == 0) else if (options.at(1).compare(changeChoice) == 0)
else if ((*options).at(1).compare(changeChoice) == 0)
{ {
decreaseBrightness(); decreaseBrightness();
std::cout << getCurrentBrightness() << std::endl; std::cout << getCurrentBrightness() << std::endl;
(*overwriteBrightness) << getCurrentBrightness(); overwriteBrightness << getCurrentBrightness();
} }
//else if (strcmp(*changeChoice, getPercent()) == 0) else if (options.at(2).compare(changeChoice) == 0)
else if ((*options).at(2).compare(changeChoice) == 0)
{ {
//std::cout << "Percentage" << std::endl;
setBrightnessByPercentage(); setBrightnessByPercentage();
std::cout << percentageBrightness << "%" << std::endl; std::cout << percentageBrightness << "%" << std::endl;
(*overwriteBrightness) << currentBrightness; overwriteBrightness << currentBrightness;
} }
else if (options.at(3).compare(changeChoice) == 0)
std::cout << "The current percentage is: " << getCurrentBrightness() << "%" << std::endl;
else else
{
std::cout << "Neither increase or decrease" << std::endl; std::cout << "Neither increase or decrease" << std::endl;
} }
//s.close();
}
void AlterBrightness::increaseBrightness() void AlterBrightness::increaseBrightness()
{ {
if (getCurrentBrightness() + getIncrement() < getMaxBrightness()) if (getCurrentBrightness() + getIncrement() < getMaxBrightness())
{
currentBrightness = getCurrentBrightness() + getIncrement(); currentBrightness = getCurrentBrightness() + getIncrement();
}
else else
currentBrightness = getMaxBrightness(); currentBrightness = getMaxBrightness();
} }
void AlterBrightness::decreaseBrightness() void AlterBrightness::decreaseBrightness()
{ {
if (getCurrentBrightness() - getDecrement() > 0) if (getCurrentBrightness() - getDecrement() > 0)
{
currentBrightness = getCurrentBrightness() - getDecrement(); currentBrightness = getCurrentBrightness() - getDecrement();
}
else else
currentBrightness = 1; currentBrightness = 1;
} }
void AlterBrightness::setBrightnessByPercentage() void AlterBrightness::setBrightnessByPercentage()
{ {
if (getPercentageBrightness() < 0 || getPercentageBrightness() > 100) if (getPercentageBrightness() < 0 || getPercentageBrightness() > 100)
{
std::cout << "Has to be between 0 and 100" <<std::endl; std::cout << "Has to be between 0 and 100" <<std::endl;
}
else else
{ {
currentBrightness = (maxBrightness * (floatToPercent(percentageBrightness))); currentBrightness = (maxBrightness * (floatToPercent(percentageBrightness)));
@@ -134,53 +97,26 @@ void AlterBrightness::setBrightnessByPercentage()
} }
std::vector<std::string>* AlterBrightness::getOptions() std::vector<std::string> AlterBrightness::getOptions()
{ { return options; }
return options; //std::ofstream AlterBrightness::getStreamToOverwriteBrightness()
} //{ return overwriteBrightness; }
std::ofstream* AlterBrightness::getStreamToOverwriteBrightness()
{
return overwriteBrightness;
}
unsigned AlterBrightness::getIncrement() const int AlterBrightness::getIncrement() const
{ { return increment; }
return increment;
} int AlterBrightness::getDecrement() const
unsigned AlterBrightness::getDecrement() const { return decrement; }
{
return decrement; int AlterBrightness::getCurrentBrightness() const
} { return currentBrightness; }
unsigned AlterBrightness::getCurrentBrightness() const
{ int AlterBrightness::getMaxBrightness() const
return currentBrightness; { return maxBrightness; }
}
unsigned AlterBrightness::getMaxBrightness() const
{
return maxBrightness;
}
float AlterBrightness::getPercentageBrightness() const float AlterBrightness::getPercentageBrightness() const
{ { return percentageBrightness; }
return percentageBrightness;
}
float AlterBrightness::floatToPercent(const float& percent) const
{
return percent / 100;
}
/** float AlterBrightness::floatToPercent(const float& percent) const
char* AlterBrightness::getIncrease() { return percent / 100; }
{
return increase;
}
char* AlterBrightness::getDecrease()
{
return decrease;
}
char* AlterBrightness::getPercent()
{
return percent;
}
*/
+17 -29
View File
@@ -10,16 +10,15 @@ class AlterBrightness
{ {
public: public:
AlterBrightness(); AlterBrightness();
AlterBrightness(Brightness*); AlterBrightness(const Brightness&);
AlterBrightness(const unsigned&, const unsigned&, const unsigned&); AlterBrightness(const int&, const int&, const int&);
~AlterBrightness(); ~AlterBrightness();
std::vector<std::string>* options; std::vector<std::string> options{};
//void setStreamToOverwriteBrightness();
void setIncrement(const unsigned&); void setIncrement(const int&);
void setDecrement(const unsigned&); void setDecrement(const int&);
void setCurrentBrightness(); void setCurrentBrightness();
void setMaxBrightness(); void setMaxBrightness();
void setPercentageBrightness(const float&); void setPercentageBrightness(const float&);
@@ -30,35 +29,24 @@ public:
void decreaseBrightness(); void decreaseBrightness();
void setBrightnessByPercentage(); void setBrightnessByPercentage();
std::vector<std::string>* getOptions(); std::vector<std::string> getOptions();
std::ofstream* getStreamToOverwriteBrightness(); //std::ofstream getStreamToOverwriteBrightness();
unsigned getIncrement() const; int getIncrement() const;
unsigned getDecrement() const; int getDecrement() const;
unsigned getCurrentBrightness() const; int getCurrentBrightness() const;
unsigned getMaxBrightness() const; int getMaxBrightness() const;
float getPercentageBrightness() const; float getPercentageBrightness() const;
float floatToPercent(const float&) const; float floatToPercent(const float&) const;
/**
char* getIncrease();
char* getDecrease();
char* getPercent();
*/
private: private:
std::ofstream* overwriteBrightness; std::ofstream overwriteBrightness{};
unsigned increment; int increment{};
unsigned decrement; int decrement{};
unsigned currentBrightness; int currentBrightness{};
unsigned maxBrightness; int maxBrightness{};
float percentageBrightness; float percentageBrightness{};
/**
char* increase;
char* decrease;
char* percent;
*/
}; };
#endif #endif
+11 -22
View File
@@ -2,40 +2,29 @@
#include <fstream> #include <fstream>
#include "Brightness.h" #include "Brightness.h"
unsigned Brightness::maxBrightness = 0; int Brightness::maxBrightness = 0;
unsigned Brightness::currentBrightness = 30; int Brightness::currentBrightness = 30;
Brightness::Brightness() Brightness::Brightness()
{ { }
readBrightnessValues = new std::ifstream;
}
Brightness::~Brightness() Brightness::~Brightness()
{ { }
delete readBrightnessValues;
}
void Brightness::grabBrightness() void Brightness::grabBrightness()
{ {
//std::fstream input; readBrightnessValues.open("/sys/class/backlight/intel_backlight/brightness", std::ios::in);
//input.open("/sys/class/backlight/intel_backlight/brightness", std::ios::in);
(*readBrightnessValues).open("/sys/class/backlight/intel_backlight/brightness", std::ios::in);
//input >> currentBrightness; readBrightnessValues >> currentBrightness;
(*readBrightnessValues) >> currentBrightness;
(*readBrightnessValues).close(); readBrightnessValues.close();
//input.close();
} }
void Brightness::grabMaxBrightness() void Brightness::grabMaxBrightness()
{ {
//std::fstream input; readBrightnessValues.open("/sys/class/backlight/intel_backlight/max_brightness", std::ios::in);
//input.open("/sys/class/backlight/intel_backlight/max_brightness", std::ios::in);
(*readBrightnessValues).open("/sys/class/backlight/intel_backlight/max_brightness", std::ios::in);
//input >> maxBrightness; readBrightnessValues >> maxBrightness;
(*readBrightnessValues) >> maxBrightness;
(*readBrightnessValues).close(); readBrightnessValues.close();
//input.close();
} }
unsigned Brightness::getCurrentBrightness() unsigned Brightness::getCurrentBrightness()
+3 -3
View File
@@ -15,8 +15,8 @@ public:
static unsigned getMaxBrightness(); static unsigned getMaxBrightness();
private: private:
std::ifstream* readBrightnessValues; std::ifstream readBrightnessValues{};
static unsigned currentBrightness; static int currentBrightness;
static unsigned maxBrightness; static int maxBrightness;
}; };
#endif #endif
-79
View File
@@ -1,79 +0,0 @@
#include <iostream>
#include <iomanip>
#include <fstream>
#include "AlterBrightness.h"
#include "Brightness.h"
int main(int argc, char* argv[])
{
//char* control[strlen(*(argv + 1))] = {*(argv + 1)};
//unsigned currentBrightness;
//unsigned maxBrightness;
Brightness* br = new Brightness;
//std::cout << "argc is: " << argc << std::endl;
if (argc == 3)
{
std::string control = *(argv + 1);
unsigned changeAmount = atoi(*(argv + 2));
float brightnessPercentage = atoi(*(argv + 2));
(*br).grabBrightness();
(*br).grabMaxBrightness();
AlterBrightness* ab = new AlterBrightness(br);
delete br;
(*ab).setIncrement(changeAmount);
(*ab).setDecrement(changeAmount);
(*ab).setPercentageBrightness(brightnessPercentage);
(*ab).chooseChange((control));
delete ab;
}
else
{
std::cout << "Inlude one of the following arguements: " << std::endl;
std::cout << std::setw(10) << "inc";
std::cout << std::setw(10) << "dec";
std::cout << std::setw(10) << "per" << std::endl << std::endl;
std::cout << "If inc or dec add a value to adjust the brightness by value" << std::endl;
std::cout << "If per add a value between 0 and 100 to adjust the brightness by percentage" << std::endl;
std::cout << "Adjusting the percentage by brightness is recommended" << std::endl << std::endl;
std::cout << "Example: Hot.out per 30" << std::endl << std::endl;
}
/**
switch(argc)
{
case 3:
//std::cout << "two" << std::endl;
AlterBrightness* ab = new AlterBrightness;
delete br;
(*ab).setIncrement(changeAmount);
(*ab).setDecrement(changeAmount);
(*ab).setPercentageBrightness(brightnessPercentage);
(*ab).chooseChange((control));
delete ab;
break;
default:
break;
}
*/
//PointerRemoval pR;
return 0;
}
+59
View File
@@ -0,0 +1,59 @@
#include <iostream>
#include <iomanip>
#include <fstream>
#include "AlterBrightness.h"
#include "Brightness.h"
int main(int argc, char* argv[])
{
Brightness br{};
if (argc == 3)
{
std::string control{*(argv + 1)};
auto changeAmount = atoi(*(argv + 2));
auto brightnessPercentage = atoi(*(argv + 2));
br.grabBrightness();
br.grabMaxBrightness();
AlterBrightness ab{};
ab.setIncrement(changeAmount);
ab.setDecrement(changeAmount);
ab.setPercentageBrightness(brightnessPercentage);
ab.chooseChange((control));
}
else if (argc == 2)
{
std::string control{*(argv +1)};
if (control.compare("cur") == 0)
{
br.grabBrightness();
AlterBrightness ab{};
ab.chooseChange(control);
}
}
else
{
std::cout << "Inlude one of the following arguements: " << std::endl;
std::cout << std::setw(10) << "inc";
std::cout << std::setw(10) << "dec";
std::cout << std::setw(10) << "per";
std::cout << std::setw(10) << "cur" << std::endl << std::endl;
std::cout << "If inc or dec add a value to adjust the brightness by value" << std::endl;
std::cout << "If per add a value between 0 and 100 to adjust the brightness by percentage" << std::endl;
std::cout << "If cur then the current percentage is printed" << std::endl;
std::cout << "Adjusting the percentage by brightness is recommended" << std::endl << std::endl;
std::cout << "Example: Hot.out per 30" << std::endl << std::endl;
}
return 0;
}
+2 -2
View File
@@ -1,5 +1,5 @@
#!/bin/sh
you=$1 you=$1
sudo chown $you /sys/class/backlight/intel_backlight/brightness sudo chown $you /sys/class/backlight/intel_backlight/brightness
ls -l /sys/class/backlight/intel_backlight/ #ls -l /sys/class/backlight/intel_backlight/
+2 -2
View File
@@ -1,2 +1,2 @@
Hot.out: AlterBrightness.cpp AlterBrightness.h BrightnessControl.cpp Brightness.cpp Brightness.h Hot.out: AlterBrightness.cpp AlterBrightness.h Main.cpp Brightness.cpp Brightness.h
g++ AlterBrightness.cpp AlterBrightness.h BrightnessControl.cpp Brightness.cpp Brightness.h -o Hot.out g++ AlterBrightness.cpp AlterBrightness.h Main.cpp Brightness.cpp Brightness.h -o Hot.out