Use spaces, not tabs.

This commit is contained in:
Steven Smith 2015-02-03 18:03:44 -08:00
parent 3fa9caaa1d
commit 39011326d5

View File

@ -4,157 +4,157 @@
#include <iomanip> #include <iomanip>
typedef enum { typedef enum {
INSTALL, INSTALL,
DELETE DELETE
} Mode; } Mode;
int main(int argc, char **argv) { int main(int argc, char **argv) {
if(!platform_init()) { if(!platform_init()) {
return 0; return 0;
} }
std::vector<std::string> extensions; std::vector<std::string> extensions;
extensions.push_back("cia"); extensions.push_back("cia");
MediaType destination = SD; MediaType destination = SD;
Mode mode = INSTALL; Mode mode = INSTALL;
bool netInstall = false; bool netInstall = false;
u64 freeSpace = fs_get_free_space(destination); u64 freeSpace = fs_get_free_space(destination);
auto onLoop = [&]() { auto onLoop = [&]() {
bool breakLoop = false; bool breakLoop = false;
if(input_is_pressed(BUTTON_L)) { if(input_is_pressed(BUTTON_L)) {
if(destination == SD) { if(destination == SD) {
destination = NAND; destination = NAND;
} else { } else {
destination = SD; destination = SD;
} }
freeSpace = fs_get_free_space(destination); freeSpace = fs_get_free_space(destination);
if(mode == DELETE) { if(mode == DELETE) {
breakLoop = true; breakLoop = true;
} }
} }
if(input_is_pressed(BUTTON_R)) { if(input_is_pressed(BUTTON_R)) {
if(mode == INSTALL) { if(mode == INSTALL) {
mode = DELETE; mode = DELETE;
} else { } else {
mode = INSTALL; mode = INSTALL;
} }
breakLoop = true; breakLoop = true;
} }
if(input_is_pressed(BUTTON_Y)) { if(input_is_pressed(BUTTON_Y)) {
netInstall = true; netInstall = true;
breakLoop = true; breakLoop = true;
} }
std::stringstream stream; std::stringstream stream;
stream << "Free Space: " << freeSpace << " bytes (" << std::fixed << std::setprecision(2) << freeSpace / 1024.0f / 1024.0f << "MB)" << "\n"; stream << "Free Space: " << freeSpace << " bytes (" << std::fixed << std::setprecision(2) << freeSpace / 1024.0f / 1024.0f << "MB)" << "\n";
stream << "Destination: " << (destination == NAND ? "NAND" : "SD") << ", Mode: " << (mode == INSTALL ? "Install" : "Delete") << "\n"; stream << "Destination: " << (destination == NAND ? "NAND" : "SD") << ", Mode: " << (mode == INSTALL ? "Install" : "Delete") << "\n";
stream << "L - Switch Destination, R - Switch Mode" << "\n"; stream << "L - Switch Destination, R - Switch Mode" << "\n";
stream << "Y - Receive an app over the network" << "\n"; stream << "Y - Receive an app over the network" << "\n";
std::string str = stream.str(); std::string str = stream.str();
screen_draw_string(str, (screen_get_width() - screen_get_str_width(str)) / 2, screen_get_height() - 4 - screen_get_str_height(str), 255, 255, 255); screen_draw_string(str, (screen_get_width() - screen_get_str_width(str)) / 2, screen_get_height() - 4 - screen_get_str_height(str), 255, 255, 255);
return breakLoop; return breakLoop;
}; };
auto onProgress = [&](int progress) { auto onProgress = [&](int progress) {
ui_display_progress("Installing", "Press B to cancel.", true, progress); ui_display_progress("Installing", "Press B to cancel.", true, progress);
input_poll(); input_poll();
return !input_is_pressed(BUTTON_B); return !input_is_pressed(BUTTON_B);
}; };
while(platform_is_running()) { while(platform_is_running()) {
std::string targetInstall; std::string targetInstall;
App targetDelete; App targetDelete;
bool obtained = false; bool obtained = false;
if(mode == INSTALL) { if(mode == INSTALL) {
obtained = ui_select_file(&targetInstall, "sdmc:", extensions, onLoop); obtained = ui_select_file(&targetInstall, "sdmc:", extensions, onLoop);
} else if(mode == DELETE) { } else if(mode == DELETE) {
obtained = ui_select_app(&targetDelete, destination, onLoop); obtained = ui_select_app(&targetDelete, destination, onLoop);
} }
if(netInstall) { if(netInstall) {
netInstall = false; netInstall = false;
// Clear bottom screen on both buffers. // Clear bottom screen on both buffers.
screen_begin_draw(BOTTOM_SCREEN); screen_begin_draw(BOTTOM_SCREEN);
screen_clear(0, 0, 0); screen_clear(0, 0, 0);
screen_end_draw(); screen_end_draw();
screen_swap_buffers(); screen_swap_buffers();
screen_begin_draw(BOTTOM_SCREEN); screen_begin_draw(BOTTOM_SCREEN);
screen_clear(0, 0, 0); screen_clear(0, 0, 0);
screen_end_draw(); screen_end_draw();
screen_swap_buffers(); screen_swap_buffers();
RemoteFile file = ui_accept_remote_file(); RemoteFile file = ui_accept_remote_file();
if(file.socket == -1) { if(file.socket == -1) {
continue; continue;
} }
std::stringstream confirmStream; std::stringstream confirmStream;
confirmStream << "Install the received application?" << "\n"; confirmStream << "Install the received application?" << "\n";
confirmStream << "Size: " << file.fileSize << " bytes (" << std::fixed << std::setprecision(2) << file.fileSize / 1024.0f / 1024.0f << "MB)" << "\n"; confirmStream << "Size: " << file.fileSize << " bytes (" << std::fixed << std::setprecision(2) << file.fileSize / 1024.0f / 1024.0f << "MB)" << "\n";
if(ui_prompt(confirmStream.str(), true)) { if(ui_prompt(confirmStream.str(), true)) {
int ret = app_install(destination, file.socket, true, file.fileSize, onProgress); int ret = app_install(destination, file.socket, true, file.fileSize, onProgress);
std::stringstream resultMsg; std::stringstream resultMsg;
resultMsg << "Install "; resultMsg << "Install ";
if(ret == 0) { if(ret == 0) {
resultMsg << "succeeded!"; resultMsg << "succeeded!";
} else { } else {
resultMsg << "failed! Error: 0x" << std::hex << ret; resultMsg << "failed! Error: 0x" << std::hex << ret;
} }
ui_prompt(resultMsg.str(), false); ui_prompt(resultMsg.str(), false);
} }
socket_close(file.socket); socket_close(file.socket);
continue; continue;
} }
if(obtained) { if(obtained) {
std::stringstream prompt; std::stringstream prompt;
if(mode == INSTALL) { if(mode == INSTALL) {
prompt << "Install "; prompt << "Install ";
} else if(mode == DELETE) { } else if(mode == DELETE) {
prompt << "Delete "; prompt << "Delete ";
} }
prompt << "the selected title?"; prompt << "the selected title?";
if(ui_prompt(prompt.str(), true)) { if(ui_prompt(prompt.str(), true)) {
int ret = 0; int ret = 0;
if(mode == INSTALL) { if(mode == INSTALL) {
ret = app_install_file(destination, targetInstall, onProgress); ret = app_install_file(destination, targetInstall, onProgress);
} else if(mode == DELETE) { } else if(mode == DELETE) {
ui_display_message("Deleting title..."); ui_display_message("Deleting title...");
ret = app_delete(targetDelete); ret = app_delete(targetDelete);
} }
std::stringstream resultMsg; std::stringstream resultMsg;
if(mode == INSTALL) { if(mode == INSTALL) {
resultMsg << "Install "; resultMsg << "Install ";
} else if(mode == DELETE) { } else if(mode == DELETE) {
resultMsg << "Delete "; resultMsg << "Delete ";
} }
if(ret == 0) { if(ret == 0) {
resultMsg << "succeeded!"; resultMsg << "succeeded!";
} else { } else {
resultMsg << "failed! Error: 0x" << std::hex << ret; resultMsg << "failed! Error: 0x" << std::hex << ret;
} }
ui_prompt(resultMsg.str(), false); ui_prompt(resultMsg.str(), false);
freeSpace = fs_get_free_space(destination); freeSpace = fs_get_free_space(destination);
} }
} }
} }
platform_cleanup(); platform_cleanup();
return 0; return 0;
} }