Code cleanup
This commit is contained in:
parent
ea057e7401
commit
c036cc43dd
@ -3,5 +3,23 @@ project(budget)
|
|||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 20)
|
set(CMAKE_CXX_STANDARD 20)
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME} src/main.cpp
|
set(SOURCES
|
||||||
src/optHandlers/mainOptHandler.h src/optHandlers/mainOptHandler.cpp src/optHandlers/operation.cpp src/optHandlers/operation.h src/optHandlers/accountOperation.cpp src/optHandlers/accountOperation.h src/optHandlers/createOperation.cpp src/optHandlers/createOperation.h src/optHandlers/earnOperation.cpp src/optHandlers/earnOperation.h src/optHandlers/PaymentOperation.cpp src/optHandlers/PaymentOperation.h)
|
src/main.cpp
|
||||||
|
src/optHandlers/mainOptHandler.cpp
|
||||||
|
src/optHandlers/operation.cpp
|
||||||
|
src/optHandlers/accountOperation.cpp
|
||||||
|
src/optHandlers/createOperation.cpp
|
||||||
|
src/optHandlers/earnOperation.cpp
|
||||||
|
src/optHandlers/PaymentOperation.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
set(HEADERS
|
||||||
|
src/optHandlers/mainOptHandler.h
|
||||||
|
src/optHandlers/operation.h
|
||||||
|
src/optHandlers/accountOperation.h
|
||||||
|
src/optHandlers/createOperation.h
|
||||||
|
src/optHandlers/earnOperation.h
|
||||||
|
src/optHandlers/PaymentOperation.h
|
||||||
|
)
|
||||||
|
|
||||||
|
add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS})
|
@ -1,4 +1,5 @@
|
|||||||
Output of budget.
|
Output of budget.
|
||||||
|
|
||||||
```
|
```
|
||||||
Usage:
|
Usage:
|
||||||
budget <action> [options] ...
|
budget <action> [options] ...
|
||||||
@ -28,9 +29,11 @@ Payment Options: -v [-drD]
|
|||||||
```
|
```
|
||||||
|
|
||||||
Arguments are processed like blocks with each one terminated by the next Action. For example
|
Arguments are processed like blocks with each one terminated by the next Action. For example
|
||||||
|
|
||||||
```
|
```
|
||||||
budget -cAcct -eAcct -v10.00 -r"./receipt.pdf" -pAcct -v5.50 -r"./payment.pdf"
|
budget -cAcct -eAcct -v10.00 -r"./receipt.pdf" -pAcct -v5.50 -r"./payment.pdf"
|
||||||
````
|
````
|
||||||
|
|
||||||
Does the following in order:
|
Does the following in order:
|
||||||
Creates an account named Acct with no description.
|
Creates an account named Acct with no description.
|
||||||
Earns 10.00 to it with a receipt.
|
Earns 10.00 to it with a receipt.
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#include "operation.h"
|
#include "operation.h"
|
||||||
|
|
||||||
namespace Budget::OptHandlers {
|
namespace Budget::OptHandlers {
|
||||||
class PaymentOperation : public Operation{
|
class PaymentOperation : public Operation {
|
||||||
public:
|
public:
|
||||||
void commit() override;
|
void commit() override;
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include "operation.h"
|
#include "operation.h"
|
||||||
|
|
||||||
namespace Budget::OptHandlers {
|
namespace Budget::OptHandlers {
|
||||||
class CreateOperation : public Operation{
|
class CreateOperation : public Operation {
|
||||||
public:
|
public:
|
||||||
void commit() override;
|
void commit() override;
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include <ctime>
|
#include <ctime>
|
||||||
|
|
||||||
namespace Budget::OptHandlers {
|
namespace Budget::OptHandlers {
|
||||||
class EarnOperation : public Operation{
|
class EarnOperation : public Operation {
|
||||||
public:
|
public:
|
||||||
void commit() override;
|
void commit() override;
|
||||||
|
|
||||||
|
@ -12,12 +12,12 @@
|
|||||||
|
|
||||||
using namespace Budget::OptHandlers;
|
using namespace Budget::OptHandlers;
|
||||||
|
|
||||||
MainOptHandler::MainOptHandler(const std::vector<char *> &_argv) : argv(_argv){
|
MainOptHandler::MainOptHandler(const std::vector<char *> &_argv) : argv(_argv) {
|
||||||
struct option actionLongOpts[] = {
|
struct option actionLongOpts[] = {
|
||||||
{"help", no_argument, nullptr, 'h'},
|
{"help", no_argument, nullptr, 'h'},
|
||||||
{"account", required_argument, nullptr, 'a'},
|
{"account", required_argument, nullptr, 'a'},
|
||||||
{"create", required_argument, nullptr, 'c'},
|
{"create", required_argument, nullptr, 'c'},
|
||||||
{"earn", required_argument, nullptr, 'e'},
|
{"earn", required_argument, nullptr, 'e'},
|
||||||
{"payment", required_argument, nullptr, 'p'}
|
{"payment", required_argument, nullptr, 'p'}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -53,16 +53,16 @@ MainOptHandler::MainOptHandler(const std::vector<char *> &_argv) : argv(_argv){
|
|||||||
|
|
||||||
void MainOptHandler::accountOptHandler(std::string account) {
|
void MainOptHandler::accountOptHandler(std::string account) {
|
||||||
struct option accountLongOpts[] = {
|
struct option accountLongOpts[] = {
|
||||||
{"help", no_argument, nullptr, 'h'},
|
{"help", no_argument, nullptr, 'h'},
|
||||||
{"account", required_argument, nullptr, 'a'},
|
{"account", required_argument, nullptr, 'a'},
|
||||||
{"create", required_argument, nullptr, 'c'},
|
{"create", required_argument, nullptr, 'c'},
|
||||||
{"earn", required_argument, nullptr, 'e'},
|
{"earn", required_argument, nullptr, 'e'},
|
||||||
{"payment", required_argument, nullptr, 'p'},
|
{"payment", required_argument, nullptr, 'p'},
|
||||||
|
|
||||||
{"delete", no_argument, nullptr, 'd'},
|
{"delete", no_argument, nullptr, 'd'},
|
||||||
{"force-delete", no_argument, nullptr, 'F'},
|
{"force-delete", no_argument, nullptr, 'F'},
|
||||||
{"value", no_argument, nullptr, 'v'},
|
{"value", no_argument, nullptr, 'v'},
|
||||||
{"description", no_argument, nullptr, 'D'},
|
{"description", no_argument, nullptr, 'D'},
|
||||||
};
|
};
|
||||||
|
|
||||||
auto acctOperation = std::make_unique<AccountOperation>();
|
auto acctOperation = std::make_unique<AccountOperation>();
|
||||||
@ -108,11 +108,11 @@ void MainOptHandler::accountOptHandler(std::string account) {
|
|||||||
|
|
||||||
void MainOptHandler::createOptHandler(std::string account) {
|
void MainOptHandler::createOptHandler(std::string account) {
|
||||||
struct option createLongOpts[] = {
|
struct option createLongOpts[] = {
|
||||||
{"help", no_argument, nullptr, 'h'},
|
{"help", no_argument, nullptr, 'h'},
|
||||||
{"account", required_argument, nullptr, 'a'},
|
{"account", required_argument, nullptr, 'a'},
|
||||||
{"create", required_argument, nullptr, 'c'},
|
{"create", required_argument, nullptr, 'c'},
|
||||||
{"earn", required_argument, nullptr, 'e'},
|
{"earn", required_argument, nullptr, 'e'},
|
||||||
{"payment", required_argument, nullptr, 'p'},
|
{"payment", required_argument, nullptr, 'p'},
|
||||||
|
|
||||||
{"description", required_argument, nullptr, 'd'},
|
{"description", required_argument, nullptr, 'd'},
|
||||||
};
|
};
|
||||||
@ -150,11 +150,11 @@ void MainOptHandler::createOptHandler(std::string account) {
|
|||||||
|
|
||||||
void MainOptHandler::earnOptHandler(std::string account) {
|
void MainOptHandler::earnOptHandler(std::string account) {
|
||||||
struct option earnLongOpts[] = {
|
struct option earnLongOpts[] = {
|
||||||
{"help", no_argument, nullptr, 'h'},
|
{"help", no_argument, nullptr, 'h'},
|
||||||
{"account", required_argument, nullptr, 'a'},
|
{"account", required_argument, nullptr, 'a'},
|
||||||
{"create", required_argument, nullptr, 'c'},
|
{"create", required_argument, nullptr, 'c'},
|
||||||
{"earn", required_argument, nullptr, 'e'},
|
{"earn", required_argument, nullptr, 'e'},
|
||||||
{"payment", required_argument, nullptr, 'p'},
|
{"payment", required_argument, nullptr, 'p'},
|
||||||
|
|
||||||
{"value", required_argument, nullptr, 'v'},
|
{"value", required_argument, nullptr, 'v'},
|
||||||
{"description", required_argument, nullptr, 'd'},
|
{"description", required_argument, nullptr, 'd'},
|
||||||
@ -221,11 +221,11 @@ void MainOptHandler::earnOptHandler(std::string account) {
|
|||||||
|
|
||||||
void MainOptHandler::paymentOptHandler(std::string account) {
|
void MainOptHandler::paymentOptHandler(std::string account) {
|
||||||
struct option paymentLongOpts[] = {
|
struct option paymentLongOpts[] = {
|
||||||
{"help", no_argument, nullptr, 'h'},
|
{"help", no_argument, nullptr, 'h'},
|
||||||
{"account", required_argument, nullptr, 'a'},
|
{"account", required_argument, nullptr, 'a'},
|
||||||
{"create", required_argument, nullptr, 'c'},
|
{"create", required_argument, nullptr, 'c'},
|
||||||
{"earn", required_argument, nullptr, 'e'},
|
{"earn", required_argument, nullptr, 'e'},
|
||||||
{"payment", required_argument, nullptr, 'p'},
|
{"payment", required_argument, nullptr, 'p'},
|
||||||
|
|
||||||
{"value", required_argument, nullptr, 'v'},
|
{"value", required_argument, nullptr, 'v'},
|
||||||
{"description", required_argument, nullptr, 'd'},
|
{"description", required_argument, nullptr, 'd'},
|
||||||
|
@ -11,24 +11,25 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include "operation.h"
|
#include "operation.h"
|
||||||
|
|
||||||
namespace Budget::OptHandlers{
|
namespace Budget::OptHandlers {
|
||||||
class MainOptHandler {
|
class MainOptHandler {
|
||||||
public:
|
public:
|
||||||
explicit MainOptHandler(const std::vector<char *> &argv);
|
explicit MainOptHandler(const std::vector<char *> &argv);
|
||||||
|
|
||||||
void help();
|
void help();
|
||||||
|
|
||||||
std::queue<std::unique_ptr<Operation>> operations;
|
std::queue<std::unique_ptr<Operation>> operations;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void accountOptHandler(std::string account);
|
void accountOptHandler(std::string account);
|
||||||
|
|
||||||
void createOptHandler(std::string account);
|
void createOptHandler(std::string account);
|
||||||
|
|
||||||
void earnOptHandler(std::string account);
|
void earnOptHandler(std::string account);
|
||||||
|
|
||||||
void paymentOptHandler(std::string account);
|
void paymentOptHandler(std::string account);
|
||||||
const std::vector<char*> &argv;
|
|
||||||
|
const std::vector<char *> &argv;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@ namespace Budget::OptHandlers {
|
|||||||
class Operation {
|
class Operation {
|
||||||
public:
|
public:
|
||||||
virtual void commit() = 0;
|
virtual void commit() = 0;
|
||||||
|
|
||||||
struct Flags {
|
struct Flags {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user