Some fixes and added information regarding running the program

This commit is contained in:
amazing-username
2017-03-15 16:09:13 -05:00
parent 9e85a65aa9
commit 3649fbcb8d
5 changed files with 170 additions and 56 deletions
+61 -24
View File
@@ -1,27 +1,41 @@
#include <iostream> #include <iostream>
#include <cstring>
#include <fstream> #include <fstream>
#include <ios> #include <ios>
#include "AlterBrightness.h" #include "AlterBrightness.h"
#include "Brightness.h"
AlterBrightness::AlterBrightness() AlterBrightness::AlterBrightness()
{ {
currentBrightness = Brightness::getCurrentBrightness(); currentBrightness = Brightness::getCurrentBrightness();
maxBrightness = Brightness::getMaxBrightness(); maxBrightness = Brightness::getMaxBrightness();
AlterBrightness::options = new std::vector<std::string>;
initializeOptions();
} }
AlterBrightness::AlterBrightness(unsigned& change, unsigned& current, unsigned& max) AlterBrightness::AlterBrightness(Brightness* br)
{
currentBrightness = (*br).getCurrentBrightness();
maxBrightness = (*br).getMaxBrightness();
options = new std::vector<std::string>;
initializeOptions();
}
AlterBrightness::AlterBrightness(const unsigned& change, const unsigned& current, const unsigned& max)
{ {
increment = change; increment = change;
decrement = change; decrement = change;
currentBrightness = current; currentBrightness = current;
maxBrightness = max; maxBrightness = max;
} }
AlterBrightness::~AlterBrightness()
{
delete options;
}
void AlterBrightness::setIncrement(unsigned& change) void AlterBrightness::setIncrement(const unsigned& change)
{ {
increment = change; increment = change;
} }
void AlterBrightness::setDecrement(unsigned& change) void AlterBrightness::setDecrement(const unsigned& change)
{ {
decrement = change; decrement = change;
} }
@@ -35,37 +49,48 @@ void AlterBrightness::setMaxBrightness()
maxBrightness = max; maxBrightness = max;
} }
*/ */
void AlterBrightness::setPercentageBrightness(float& percent) void AlterBrightness::setPercentageBrightness(const float& percent)
{ {
percentageBrightness = percent; percentageBrightness = percent;
} }
void AlterBrightness::initializeOptions()
{
(*options).push_back("inc");
(*options).push_back("dec");
(*options).push_back("per");
}
void AlterBrightness::chooseChange(char* changeChoice[]) void AlterBrightness::chooseChange(const std::string& changeChoice)
{ {
std::ofstream s; std::ofstream s;
s.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out); s.open("/sys/class/backlight/intel_backlight/brightness", std::ios::out);
//std::cout << (*options).at(0) << std::endl;
if (strcmp(*changeChoice, AlterBrightness::getIncrease()) == 0) //if (strcmp(*changeChoice, getIncrease()) == 0)
//if (strcmp(*changeChoice, (*options).at(0)) == 0)
if ((*options).at(0).compare(changeChoice) == 0)
{ {
AlterBrightness::increaseBrightness(); increaseBrightness();
std::cout << AlterBrightness::getCurrentBrightness() << std::endl; std::cout << getCurrentBrightness() << std::endl;
s << AlterBrightness::getCurrentBrightness(); s << getCurrentBrightness();
} }
else if (strcmp(*changeChoice, AlterBrightness::getDecrease()) == 0) //else if (strcmp(*changeChoice, getDecrease()) == 0)
else if ((*options).at(1).compare(changeChoice) == 0)
{ {
AlterBrightness::decreaseBrightness(); decreaseBrightness();
std::cout << AlterBrightness::getCurrentBrightness() << std::endl; std::cout << getCurrentBrightness() << std::endl;
s << AlterBrightness::getCurrentBrightness(); s << getCurrentBrightness();
} }
else if (strcmp(*changeChoice, AlterBrightness::getPercent()) == 0) //else if (strcmp(*changeChoice, getPercent()) == 0)
else if ((*options).at(2).compare(changeChoice) == 0)
{ {
std::cout << "Percentage" << std::endl; //std::cout << "Percentage" << std::endl;
setBrightnessByPercentage(); setBrightnessByPercentage();
std::cout << percentageBrightness / 100 << std::endl; std::cout << percentageBrightness << "%" << std::endl;
s << currentBrightness; s << currentBrightness;
} }
else else
@@ -76,36 +101,41 @@ void AlterBrightness::chooseChange(char* changeChoice[])
} }
void AlterBrightness::increaseBrightness() void AlterBrightness::increaseBrightness()
{ {
if (AlterBrightness::getCurrentBrightness() + AlterBrightness::getIncrement() < AlterBrightness::getMaxBrightness()) if (getCurrentBrightness() + getIncrement() < getMaxBrightness())
{ {
currentBrightness = AlterBrightness::getCurrentBrightness() + AlterBrightness::getIncrement(); currentBrightness = getCurrentBrightness() + getIncrement();
} }
else else
currentBrightness = AlterBrightness::getMaxBrightness(); currentBrightness = getMaxBrightness();
} }
void AlterBrightness::decreaseBrightness() void AlterBrightness::decreaseBrightness()
{ {
if (AlterBrightness::getCurrentBrightness() - AlterBrightness::getDecrement() > 0) if (getCurrentBrightness() - getDecrement() > 0)
{ {
currentBrightness = AlterBrightness::getCurrentBrightness() - AlterBrightness::getDecrement(); currentBrightness = getCurrentBrightness() - getDecrement();
} }
else else
currentBrightness = 1; currentBrightness = 1;
} }
void AlterBrightness::setBrightnessByPercentage() void AlterBrightness::setBrightnessByPercentage()
{ {
if (AlterBrightness::getPercentageBrightness() < 0 || AlterBrightness::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 * (percentageBrightness/ 100)); currentBrightness = (maxBrightness * (floatToPercent(percentageBrightness)));
std::cout << currentBrightness << std::endl; std::cout << currentBrightness << std::endl;
} }
} }
std::vector<std::string>* AlterBrightness::getOptions()
{
return options;
}
unsigned AlterBrightness::getIncrement() const unsigned AlterBrightness::getIncrement() const
{ {
return increment; return increment;
@@ -123,11 +153,17 @@ unsigned AlterBrightness::getMaxBrightness() const
return maxBrightness; return maxBrightness;
} }
float AlterBrightness::getPercentageBrightness() const float AlterBrightness::getPercentageBrightness() const
{ {
return percentageBrightness; return percentageBrightness;
} }
float AlterBrightness::floatToPercent(const float& percent) const
{
return percent / 100;
}
/**
char* AlterBrightness::getIncrease() char* AlterBrightness::getIncrease()
{ {
return increase; return increase;
@@ -140,3 +176,4 @@ char* AlterBrightness::getPercent()
{ {
return percent; return percent;
} }
*/
+22 -9
View File
@@ -2,25 +2,33 @@
#define ALTERBRIGHTNESS_H #define ALTERBRIGHTNESS_H
#include <cstring> #include <cstring>
#include <string> #include <string>
#include <vector>
#include "Brightness.h"
class AlterBrightness class AlterBrightness
{ {
public: public:
AlterBrightness(); AlterBrightness();
AlterBrightness(Brightness*);
AlterBrightness(unsigned&, unsigned&, unsigned&); AlterBrightness(const unsigned&, const unsigned&, const unsigned&);
void setIncrement(unsigned&); ~AlterBrightness();
void setDecrement(unsigned&);
std::vector<std::string>* options;
void setIncrement(const unsigned&);
void setDecrement(const unsigned&);
void setCurrentBrightness(); void setCurrentBrightness();
void setMaxBrightness(); void setMaxBrightness();
void setPercentageBrightness(float&); void setPercentageBrightness(const float&);
void initializeOptions();
void chooseChange(char*[]); void chooseChange(const std::string&);
void increaseBrightness(); void increaseBrightness();
void decreaseBrightness(); void decreaseBrightness();
void setBrightnessByPercentage(); void setBrightnessByPercentage();
std::vector<std::string>* getOptions();
unsigned getIncrement() const; unsigned getIncrement() const;
unsigned getDecrement() const; unsigned getDecrement() const;
@@ -28,10 +36,13 @@ public:
unsigned getMaxBrightness() const; unsigned getMaxBrightness() const;
float getPercentageBrightness() const; float getPercentageBrightness() const;
float floatToPercent(const float&) const;
/**
char* getIncrease(); char* getIncrease();
char* getDecrease(); char* getDecrease();
char* getPercent(); char* getPercent();
*/
private: private:
unsigned increment; unsigned increment;
@@ -39,9 +50,11 @@ private:
unsigned currentBrightness; unsigned currentBrightness;
unsigned maxBrightness; unsigned maxBrightness;
float percentageBrightness; float percentageBrightness;
char* increase = "inc"; /**
char* decrease = "dec"; char* increase;
char* percent = "per"; char* decrease;
char* percent;
*/
}; };
#endif #endif
+20 -9
View File
@@ -6,25 +6,36 @@ unsigned Brightness::maxBrightness = 0;
unsigned Brightness::currentBrightness = 30; unsigned Brightness::currentBrightness = 30;
Brightness::Brightness() Brightness::Brightness()
{ {
readBrightnessValues = new std::ifstream;
} }
Brightness::~Brightness()
{
delete readBrightnessValues;
}
void Brightness::grabBrightness() void Brightness::grabBrightness()
{ {
std::fstream input; //std::fstream input;
input.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; //input >> currentBrightness;
(*readBrightnessValues) >> currentBrightness;
input.close();
(*readBrightnessValues).close();
//input.close();
} }
void Brightness::grabMaxBrightness() void Brightness::grabMaxBrightness()
{ {
std::fstream input; //std::fstream input;
input.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; //input >> maxBrightness;
(*readBrightnessValues) >> maxBrightness;
input.close(); (*readBrightnessValues).close();
//input.close();
} }
unsigned Brightness::getCurrentBrightness() unsigned Brightness::getCurrentBrightness()
+3
View File
@@ -1,10 +1,12 @@
#ifndef BRIGHTNESS_H #ifndef BRIGHTNESS_H
#define BRIGHTNESS_H #define BRIGHTNESS_H
#include <fstream>
class Brightness class Brightness
{ {
public: public:
Brightness(); Brightness();
~Brightness();
void grabBrightness(); void grabBrightness();
void grabMaxBrightness(); void grabMaxBrightness();
@@ -13,6 +15,7 @@ public:
static unsigned getMaxBrightness(); static unsigned getMaxBrightness();
private: private:
std::ifstream* readBrightnessValues;
static unsigned currentBrightness; static unsigned currentBrightness;
static unsigned maxBrightness; static unsigned maxBrightness;
}; };
+64 -14
View File
@@ -1,29 +1,79 @@
#include <iostream> #include <iostream>
#include <iomanip>
#include <fstream> #include <fstream>
#include "AlterBrightness.h" #include "AlterBrightness.h"
#include "Brightness.h" #include "Brightness.h"
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
char* control[strlen(*(argv + 1))] = {*(argv + 1)};
unsigned changeAmount = atoi(*(argv + 2)); //char* control[strlen(*(argv + 1))] = {*(argv + 1)};
float brightnessPercentage = atoi(*(argv + 2)); //unsigned currentBrightness;
unsigned currentBrightness; //unsigned maxBrightness;
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);
Brightness br; (*ab).chooseChange((control));
br.grabBrightness();
br.grabMaxBrightness(); delete ab;
AlterBrightness ab; break;
default:
break;
}
*/
ab.setIncrement(changeAmount); //PointerRemoval pR;
ab.setDecrement(changeAmount);
ab.setPercentageBrightness(brightnessPercentage);
ab.chooseChange((control));
return 0; return 0;
} }