Need to switch from bash-based to c++ based

This commit is contained in:
amazing-username
2017-02-22 21:27:06 -06:00
commit 5af331334d
3 changed files with 165 additions and 0 deletions
+104
View File
@@ -0,0 +1,104 @@
#include <iostream>
#include <fstream>
#include <ios>
#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;
}
+39
View File
@@ -0,0 +1,39 @@
#ifndef ALTERBRIGHTNESS_H
#define ALTERBRIGHTNESS_H
#include <cstring>
#include <string>
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
+22
View File
@@ -0,0 +1,22 @@
#include <cstring>
#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;
}