Skip to content
Snippets Groups Projects
Commit b713f087 authored by kk1205's avatar kk1205
Browse files

mappanevek kivezetve

Modified   program/Source/app/Application.cpp
Modified   program/Source/cloud/CloudAdapter.h
Modified   program/Source/cloud/DropboxAdapter.h
Modified   program/Source/cloud/FTPAdapter.cpp
Modified   program/Source/cloud/FTPAdapter.h
Modified   program/Source/cloud/LocalCloudAdapter.h
Modified   program/Source/dataAccess/CloudFileSystem.cpp
Modified   program/Source/dataAccess/CloudFileSystem.h
Modified   program/Source/dataAccess/Decoder.cpp
Modified   program/Source/dataAccess/Decoder.h
Modified   program/Source/dataAccess/Encoder.cpp
Modified   program/Source/dataAccess/Encoder.h
parent 5ca10d1c
Branches
No related tags found
No related merge requests found
......@@ -40,6 +40,18 @@ int main(int argc, char **argv) {
//application.ui = app::UI();
application.ui.app = &application;
string dataFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\data\\";
string fragFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\temp\\";
string cloudFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\cloud\\";
application.cfs.getEncoder()->setFolders(dataFolder,fragFolder);
application.cfs.getDecoder()->setFolders(dataFolder,fragFolder);
application.cfs.setFolders(fragFolder);
for (auto ca : application.cm.getCloudList()){
ca->setFolders(cloudFolder, fragFolder);
}
Application::DeleteThisUglyWorkaround_App_Instance = &application;
if (argc > 1 && (Application::SERVER.compare(argv[1]) == 0))
......
......@@ -16,9 +16,17 @@
* we only need to implement this each time
*/
class CloudAdapter {
protected:
std::string fragFolder;
std::string cloudFolder;
public:
std::string cloudID;
void setFolders(std::string _cloudFolder, std::string _fragFolder){
cloudFolder = _cloudFolder;
fragFolder = _fragFolder;
}
/**
* CloudApater constructor
* @param _cloudID the ID of the cloud that is implemented
......
......@@ -12,8 +12,6 @@
* DropboxAdapter class
*/
class DropboxAdapter : public CloudAdapter {
const std::string fragFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\temp\\";
const std::string contentHost = "content.dropboxapi.com";
const std::string apiHost = "api.dropboxapi.com";
......
......@@ -15,7 +15,6 @@ using namespace Poco;
using namespace boost::filesystem;
using namespace std;
const string FTPAdapter::fragFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\temp\\";
const string FTPAdapter::USERNAME = "b18_16883957";
const string FTPAdapter::PASSWORD = "lolwutdoge";
const string FTPAdapter::HOST = "ftp.byethost18.com";
......
......@@ -10,7 +10,6 @@
* DropboxAdapter class
*/
class FTPAdapter : public CloudAdapter {
static const std::string fragFolder;
static const std::string USERNAME;
static const std::string PASSWORD;
static const std::string HOST;
......
......@@ -13,10 +13,6 @@
* while real clouds are not used
*/
class LocalCloudAdapter : public CloudAdapter {
private:
std::string sourceFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\data\\";
std::string fragFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\temp\\";
std::string cloudFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\cloud\\";
public:
LocalCloudAdapter(std::string _cloudID = "localAdapter");
......
......@@ -24,13 +24,31 @@ CloudFileSystem::CloudFileSystem(Application &application) :
{
cfl.setPersPath("store.dat");
cfl.load();
encoder = new Encoder();
decoder = new Decoder();
}
CloudFileSystem::~CloudFileSystem(){
delete this->cache;
delete encoder;
delete decoder;
}
Encoder* CloudFileSystem::getEncoder(){
return encoder;
}
Decoder* CloudFileSystem::getDecoder(){
return decoder;
}
void CloudFileSystem::setFolders(string _fragFolder){
fragFolder = _fragFolder;
}
string CloudFileSystem::fragFolder = "";
// Not working as we planned, maybe should be rethinked
void CloudFileSystem::setComputeOnPi(bool computeOnPi){
LOG_ENTER_EXIT;
......
......@@ -15,6 +15,8 @@
#include "../networking/HomeNetworkCommunications.h"
#include "Cache.h"
#include "CloudFileList.h"
#include "../dataAccess/Encoder.h"
#include "../dataAccess/Decoder.h"
class Application;
......@@ -25,7 +27,7 @@ class Application;
* It handles mutexes, cache usage and directories.
*/
class CloudFileSystem {
std::string fragFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\temp\\";
static std::string fragFolder;
/**
* Indicates where is the process running
......@@ -55,8 +57,16 @@ class CloudFileSystem {
Cache *cache;
CloudFileList cfl;
Encoder* encoder;
Decoder* decoder;
public:
Encoder* getEncoder();
Decoder* getDecoder();
void setFolders(std::string _fragFolder);
static CloudFileSystem& getInstance();
/*{
static CloudFileSystem instance;
......
......@@ -14,10 +14,20 @@ using namespace std;
* Decoder implementation
*/
void Decoder::setFolders(string _dataFolder, string _fragFolder){
dataFolder = _dataFolder;
fragFolder = _fragFolder;
}
string Decoder::dataFolder = "";
string Decoder::fragFolder = "";
string Decoder::decode(FileDescriptor* fileDescriptor)
{
string dataFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\data\\";
string fragFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\temp\\";
if (dataFolder == "" || fragFolder == "") {
cout << "Error: folders not set." << endl;
return NULL;
}
LOG_ENTER_EXIT;
if (fileDescriptor == nullptr)
......
......@@ -9,7 +9,10 @@
* it uses an external library
*/
class Decoder {
static std::string dataFolder;
static std::string fragFolder;
public:
void setFolders(std::string _dataFolder, std::string _fragFolder);
/**
* decodes the fragments to a file
......
......@@ -17,10 +17,20 @@ using namespace boost;
using namespace filesystem;
using namespace std;
void Encoder::setFolders(string _dataFolder, string _fragFolder){
dataFolder = _dataFolder;
fragFolder = _fragFolder;
}
string Encoder::dataFolder = "";
string Encoder::fragFolder = "";
FileDescriptor* Encoder::encode(string localFileID, string destinationFileID) {
LOG_ENTER_EXIT;
string dataFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\data\\";
string fragFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\temp\\";
if (dataFolder == "" || fragFolder == "") {
cout << "Error: folders not set." << endl;
return NULL;
}
string encode_filename = dataFolder + localFileID;
......
......@@ -10,7 +10,10 @@
* it uses an external library
*/
class Encoder {
static std::string dataFolder;
static std::string fragFolder;
public:
void setFolders(std::string _dataFolder, std::string _fragFolder);
/**
* encodes the file to fragments
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment