From e43ef1f3e7630a112378773e0ba9c6c020b2e65f Mon Sep 17 00:00:00 2001 From: Cástor Muñoz Date: Fri, 5 Feb 2016 00:25:31 +0100 Subject: rbutil: add support for iPod Classic 6G bootloader Change-Id: I0e237a81098a2d4df8d9f5d6deaaab3863a84fc6 --- rbutil/rbutilqt/base/bootloaderinstalls5l.h | 71 +++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 rbutil/rbutilqt/base/bootloaderinstalls5l.h (limited to 'rbutil/rbutilqt/base/bootloaderinstalls5l.h') diff --git a/rbutil/rbutilqt/base/bootloaderinstalls5l.h b/rbutil/rbutilqt/base/bootloaderinstalls5l.h new file mode 100644 index 0000000000..a59e5d378b --- /dev/null +++ b/rbutil/rbutilqt/base/bootloaderinstalls5l.h @@ -0,0 +1,71 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * + * Copyright (C) 2008 by Dominik Riebeling + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +#ifndef BOOTLOADERINSTALLS5L_H +#define BOOTLOADERINSTALLS5L_H + +#include +#include "bootloaderinstallbase.h" + + +//! bootloader installation derivate based on mks5lboot +class BootloaderInstallS5l : public BootloaderInstallBase +{ + Q_OBJECT + + public: + BootloaderInstallS5l(QObject *parent); + bool install(void); + bool uninstall(void); + BootloaderInstallBase::BootloaderType installed(void); + Capabilities capabilities(void); + + private slots: + bool installStage1(void); + void installStageMkdfu(void); + void installStageWaitForEject(void); + void installStageWaitForSpindown(void); + void installStageWaitForProcs(void); + void installStageWaitForDfu(void); + void installStageSendDfu(void); + void installStageWaitForRemount(void); + void abortInstall(void); + void installDone(bool); + + private: + bool doInstall; + QString mntpoint; + unsigned char* dfu_buf; + int dfu_size; + QList suspendedPids; + bool aborted; + bool abortDetected(void); + QTime scanTimer; + bool scanSuccess; + // progress + QTime progressTimer; + int progressTimeout; + int progCurrent; + int progOrigin; + int progTarget; + bool actionShown; + void setProgress(int, int=0); + bool updateProgress(void); +}; + +#endif -- cgit