You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bibletime/bibletime/frontend/btinstallmgr.h

115 lines
2.5 KiB

/*********
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2006 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/
#ifndef BTINSTALLMGR_H
#define BTINSTALLMGR_H
//BibleTIme includes
#include "backend/cswordbackend.h"
#include "config.h"
//sword includes
#include <installmgr.h>
#include <ftptrans.h>
//TQt includes
#include <tqobject.h>
#include <tqptrlist.h>
#include <tqstring.h>
#include <tqstringlist.h>
#ifdef SWORD_MULTIVERSE
#define SWORD_INTERNET_WARNING 1
#endif
namespace BookshelfManager {
typedef TQPtrList<sword::InstallSource> InstallSourceList;
/**Our own reimplementation to provide status bar updates.
*@author The BibleTime team
*/
class BTInstallMgr : public TQObject, public sword::InstallMgr, public sword::StatusReporter {
Q_OBJECT
public:
class Tool {
public:
class LocalConfig {
public:
static const TQString swordConfigFilename();
static TQStringList targetList();
static void setTargetList( const TQStringList& );
private:
LocalConfig() {}
;
};
class RemoteConfig {
public:
static void initConfig();
static const TQString configPath();
static const TQString configFilename();
static void resetRemoteSources();
static void resetLocalSources();
static TQStringList sourceList( sword::InstallMgr* );
static sword::InstallSource source( sword::InstallMgr*, const TQString& name );
static const bool isRemoteSource( sword::InstallSource* is );
static void addSource( sword::InstallSource* );
static void removeSource( sword::InstallMgr*, sword::InstallSource* );
private:
RemoteConfig() {}
;
};
static CSwordBackend* backend( sword::InstallSource* const );
private:
Tool() {}
;
};
BTInstallMgr();
virtual ~BTInstallMgr();
#ifdef SWORD_INTERNET_WARNING
public:
/** Re-implemented from sword::InstallMgr. */
virtual bool isUserDisclaimerConfirmed() const;
#endif
protected:
/* Reimplementations of method in StatusReporter */
virtual void statusUpdate(double dltotal, double dlnow);
virtual void preStatus(long totalBytes, long completedBytes, const char *message);
// virtual FTPTransport *createFTPTransport(const char *host, StatusReporter *statusReporter);
long m_totalBytes;
long m_completedBytes;
signals: // Signals
void completed( const int, const int );
/**
* Emitted when a new file gets downloaded.
*/
void downloadStarted( const TQString& );
};
}
#endif