Changed C++ standard to C++17 and will implement functionality to retrieve songs, albums, artists, genres, cover art, and year records in json. Will add explicit versioning too

This commit is contained in:
kdeng00
2019-07-30 22:08:55 -04:00
parent 63bee45f95
commit 24a111e8e9
54 changed files with 1334 additions and 1331 deletions
+43
View File
@@ -0,0 +1,43 @@
#ifndef ACTIONMANAGER_H_
#define ACTIONMANAGER_H_
#include<string>
#include<vector>
#include"Models/Flags.h"
#include"Models/IcarusAction.h"
namespace Managers
{
class ActionManager
{
public:
ActionManager(char**);
Models::IcarusAction retrieveIcarusAction() const;
std::vector<Models::Flags> retrieveFlags() const;
std::string retrieveAction() const;
private:
bool isNumber(std::string);
void initialize();
void initializeSupportedActions();
void initializeSupportedFlags();
void validateAction();
void validateFlags();
std::vector<std::string> parsedFlags();
void printAction();
void printFlags(std::vector<std::string>);
void printFlags();
std::string action;
std::vector<std::string> supportedActions;
std::vector<std::string> supportedFlags;
std::vector<Models::Flags> flags;
char **params;
};
}
#endif
+40
View File
@@ -0,0 +1,40 @@
#ifndef COMMITMANAGER_H_
#define COMMITMANAGER_H_
#include<map>
#include<string>
#include"Models/API.h"
#include"Models/Token.h"
#include"Models/IcarusAction.h"
namespace Managers
{
class CommitManager
{
public:
CommitManager(Models::IcarusAction);
void commitAction();
private:
Models::Token parseToken(Models::API);
void initializeMapActions();
void deleteSong();
void downloadSong();
void uploadSong();
enum ActionValues
{
deleteAct,
downloadAct,
retrieveAct,
uploadAct
};
std::map<std::string, ActionValues> mapActions;
Models::IcarusAction icaAction;
};
}
#endif
+29
View File
@@ -0,0 +1,29 @@
#ifndef FILEMANAGER_H_
#define FILEMANAGER_H_
#include<string>
namespace Managers
{
class FileManager
{
public:
FileManager();
FileManager(std::string);
void saveFile(std::string);
void modifyFilePath(std::string);
char* retrieveFileBuffer() const;
int retrieveFileBufferLength() const;
private:
void readFile();
std::string filePath;
char* fileBuffer;
bool fileRead;
int fileBufferLength;
};
}
#endif
+23
View File
@@ -0,0 +1,23 @@
#ifndef TOKENMANAGER_H_
#define TOKENMANAGER_H_
#include"Models/API.h"
#include"Models/Token.h"
#include"Models/User.h"
namespace Managers
{
class TokenManager
{
public:
TokenManager(const Models::User);
TokenManager(const Models::User, Models::API);
Models::Token requestToken();
private:
Models::API api;
Models::User user;
};
}
#endif
+26
View File
@@ -0,0 +1,26 @@
#ifndef USERMANAGER_H_
#define USERMANAGER_H_
#include<iostream>
#include"Models/IcarusAction.h"
#include"Models/User.h"
namespace Managers
{
class UserManager
{
public:
UserManager(Models::User);
UserManager(const Models::IcarusAction);
Models::User retrieveUser() const;
private:
void parseUserFromActions();
Models::User user;
Models::IcarusAction icaAction;
};
}
#endif