summaryrefslogtreecommitdiff
path: root/src/ssave/SSaveController.cpp
blob: 191a18cdbcc85c976d3d6b04c0af9c89dce4347f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
 * SSaveController.cpp
 *
 *  Created on: Jan 29, 2012
 *      Author: Simon
 */

#include "SSaveController.h"

SSaveController::SSaveController(ControllerCallback * callback, Save save):
	HasExited(false)
{
	ssaveView = new SSaveView();
	ssaveView->AttachController(this);
	ssaveModel = new SSaveModel();
	ssaveModel->AddObserver(ssaveView);
	ssaveModel->SetSave(new Save(save));

	this->callback = callback;
}

void SSaveController::UploadSave(std::string saveName, std::string saveDescription, bool publish)
{
	ssaveModel->UploadSave(saveName, saveDescription, publish);
}

Save * SSaveController::GetSave()
{
	return ssaveModel->GetSave();
}

bool SSaveController::GetSaveUploaded()
{
	return ssaveModel->GetSaveUploaded();
}

void SSaveController::Update()
{
	ssaveModel->Update();
}

void SSaveController::Exit()
{
	if(ui::Engine::Ref().GetWindow() == ssaveView)
		ui::Engine::Ref().CloseWindow();
	if(callback)
		callback->ControllerExit();
	HasExited = true;
}

SSaveController::~SSaveController() {
	if(ui::Engine::Ref().GetWindow() == ssaveView)
		ui::Engine::Ref().CloseWindow();
}