From f4fae92b6768541e2952173c3d4b09040f95bf7e Mon Sep 17 00:00:00 2001 From: tpearson Date: Wed, 16 Feb 2011 20:17:18 +0000 Subject: Moved kpilot from kdepim to applications, as the core Trinity libraries should not contain hardware-dependent software git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1221127 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kpilot/kpilot/main-test.cc | 437 --------------------------------------------- 1 file changed, 437 deletions(-) delete mode 100644 kpilot/kpilot/main-test.cc (limited to 'kpilot/kpilot/main-test.cc') diff --git a/kpilot/kpilot/main-test.cc b/kpilot/kpilot/main-test.cc deleted file mode 100644 index f9c9fe80..00000000 --- a/kpilot/kpilot/main-test.cc +++ /dev/null @@ -1,437 +0,0 @@ -/* KPilot -** -** Copyright (C) 2001 by Dan Pilone -** Copyright (C) 2001,2002,2003,2004 by Adriaan de Groot -** -** This is the main program for kpilotTest, which shows a SyncLog and -** exercises the KPilotDeviceLink class. It's intended to test if the -** Palm hardware and the KPilot software are functioning correctly to -** some extent. -*/ - -/* -** This program is free software; you can redistribute it and/or modify -** it under the terms of the GNU General Public License as published by -** the Free Software Foundation; either version 2 of the License, or -** (at your option) any later version. -** -** This program is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -** GNU General Public License for more details. -** -** You should have received a copy of the GNU General Public License -** along with this program in a file called COPYING; if not, write to -** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -** MA 02110-1301, USA. -*/ - -/* -** Bug reports and questions can be sent to kde-pim@kde.org. -*/ - -#include "options.h" - -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include "actionQueue.h" -#include "actions.h" -#include "kpilotdevicelink.h" -#include "kpilotlocallink.h" -#include "pilot.h" - -#include "kpilotConfig.h" -#include "hotSync.h" - - -static KCmdLineOptions generalOptions[] = { - {"p",0,0}, - {"port ", - I18N_NOOP("Path to Pilot device node"), - "/dev/pilot"}, - {"l",0,0}, - {"list", I18N_NOOP("List DBs"), 0}, - {"b",0,0}, - {"backup ", I18N_NOOP("Backup Pilot to "), 0}, - {"r",0,0}, - {"restore ", I18N_NOOP("Restore Pilot from backup"), 0}, - {"e",0,0}, - { "exec ", - I18N_NOOP("Run conduit from desktop file "), - 0 }, - {"c",0,0}, - { "check ", - I18N_NOOP("Run a specific check (with the device)"), "help"}, - {"s",0,0}, - { "show ", - I18N_NOOP("Show KPilot configuration information"), "help"}, -#ifdef DEBUG - { "debug ", - I18N_NOOP("Set the debug level"), "1" }, -#endif - KCmdLineLastOption -} ; - -static KCmdLineOptions conduitOptions[] = { - { "T",0,0}, - { "notest", - I18N_NOOP("*Really* run the conduit, not in test mode."), - 0 } , - { "F",0,0}, - { "local", - I18N_NOOP("Run the conduit in file-test mode."), - 0 } , - { "HHtoPC", - I18N_NOOP("Copy Pilot to Desktop."), - 0 } , - { "PCtoHH", - I18N_NOOP("Copy Desktop to Pilot."), - 0 } , - { "loop", - I18N_NOOP("Repeated perform action - only useful for --list"), - 0 } , - KCmdLineLastOption -} ; - -/** -*** Conduits - sync actions - for testing specific scenarios. -**/ - - - -KPilotLink *createLink( bool local ) -{ - FUNCTIONSETUP; - if (!local) - { - return new KPilotDeviceLink(0, "deviceLink"); - } - else - { - return new KPilotLocalLink(0, "localLink"); - } -} - -/** If @p loop is true, then instead of quitting at end of -* sync, wait for a new sync just like the real daemon does. -*/ -void connectStack( KPilotLink *l, ActionQueue *a, bool loop = false ) -{ - FUNCTIONSETUP; - - if (l && a) - { - TQObject::connect(a, TQT_SIGNAL(syncDone(SyncAction *)), - l, TQT_SLOT(close())); - if (!loop) - { - TQObject::connect(a, TQT_SIGNAL(syncDone(SyncAction *)), - kapp, TQT_SLOT(quit())); - } - else - { - TQObject::connect(a, TQT_SIGNAL(syncDone(SyncAction *)), - l, TQT_SLOT(reset())); - } - TQObject::connect(l, TQT_SIGNAL(deviceReady(KPilotLink*)), - a, TQT_SLOT(execConduit())); - } -} - - - -int exec(const TQString &device, const TQString &what, KCmdLineArgs *p) -{ - FUNCTIONSETUP; - - // get --exec-conduit value - if (what.isEmpty()) return 1; - TQStringList l; - l.append(what); - - SyncAction::SyncMode::Mode syncMode = SyncAction::SyncMode::eHotSync; - if (p->isSet("HHtoPC")) syncMode = SyncAction::SyncMode::eCopyHHToPC; - if (p->isSet("PCtoHH")) syncMode = SyncAction::SyncMode::eCopyPCToHH; - SyncAction::SyncMode mode(syncMode,p->isSet("test"),p->isSet("local")); - - KPilotLink *link = createLink( p->isSet("local") ); - ActionQueue *syncStack = new ActionQueue( link ); - syncStack->queueInit(); - syncStack->addAction(new CheckUser( link )); - syncStack->queueConduits(l,mode); - syncStack->queueCleanup(); - connectStack(link,syncStack); - link->reset(device); - return kapp->exec(); -} - -int backup(const TQString &device, const TQString &what, KCmdLineArgs *p) -{ - FUNCTIONSETUP; - KPilotLink *link = createLink( p->isSet("local") ); - ActionQueue *syncStack = new ActionQueue( link ); - syncStack->queueInit(); - BackupAction *ba = new BackupAction( link, true /* full backup */ ); - ba->setDirectory( what ); - syncStack->addAction( ba ); - syncStack->queueCleanup(); - connectStack(link,syncStack); - link->reset(device); - return kapp->exec(); -} - -int restore(const TQString &device, const TQString &what, KCmdLineArgs *p) -{ - FUNCTIONSETUP; - KPilotLink *link = createLink( p->isSet("local") ); - ActionQueue *syncStack = new ActionQueue( link ); - syncStack->queueInit(); - RestoreAction *ra = new RestoreAction( link ); - ra->setDirectory( what ); - syncStack->addAction( ra ); - syncStack->queueCleanup(); - connectStack(link,syncStack); - link->reset(device); - return kapp->exec(); -} - -int listDB(const TQString &device, KCmdLineArgs *p) -{ - FUNCTIONSETUP; - KPilotLink *link = createLink( p->isSet("local") ); - ActionQueue *syncStack = new ActionQueue( link ); - syncStack->queueInit(); - syncStack->addAction( new TestLink( link ) ); - syncStack->queueCleanup(); - connectStack(link,syncStack, p->isSet("loop") ); - link->reset(device); - return kapp->exec(); -} - -int check( const TQString &device, const TQString &what, KCmdLineArgs *p ) -{ - FUNCTIONSETUP; - - if ( "help" == what ) - { - std::cout << -"You can use the --check option to kpilotTest to run various\n" -"small checks that require the use of the device. These are:\n" -"\thelp - show this help\n" -"\tuser - check the user name on the handheld\n" - << std::endl; - return 0; - } - - if ( "user" == what ) - { - KPilotLink *link = createLink( p->isSet("local") ); - ActionQueue *syncStack = new ActionQueue( link ); - syncStack->queueInit(); - syncStack->addAction( new CheckUser( link ) ); - syncStack->queueCleanup(); - connectStack(link,syncStack); - link->reset(device); - return kapp->exec(); - } - - return 0; -} - -void listConduits() -{ - FUNCTIONSETUP; - - KServiceTypeProfile::OfferList offers = - KServiceTypeProfile::offers(CSL1("KPilotConduit")); - - // Now actually fill the two list boxes, just make - // sure that nothing gets listed in both. - // - // - TQValueListIterator < KServiceOffer > availList(offers.begin()); - while (availList != offers.end()) - { - KSharedPtr < KService > o = (*availList).service(); - - std::cout << "File: " << o->desktopEntryName() << std::endl; - std::cout << " Desc: " << o->name() << std::endl; - if (!o->library().isEmpty()) - { - std::cout << " Lib : " - << o->library() - << std::endl; - } - - ++availList; - } -} - -int show( const TQString &what ) -{ - FUNCTIONSETUP; - - if ( "help" == what ) - { - std::cout << -"Displays various bits of KPilot's internal settings. This\n" -"does not require a device connection or a running KDE desktop.\n" -"No change to data takes place. The following options are available\n" -"for display:\n" -"\thelp - displays this help\n" -"\tconduits - displays the list of available conduits\n" -"\tuser - displays the user name KPilot expects\n" -"\tdevice - displays the device settings in KPilot\n" -"\tdebug - displays internal numbers\n" - << std::endl; - return 0; - } - - if ( "conduits" == what ) - { - listConduits(); - return 0; - } - - if ( "user" == what ) - { - std::cout << "User: " << KPilotSettings::userName() << std::endl; - return 0; - } - - if ( "device" == what ) - { - std::cout << "Device: " << KPilotSettings::pilotDevice() - << "\nSpeed: " << KPilotSettings::pilotSpeed() - << "\nEncoding: " << KPilotSettings::encoding() - << "\nQuirks: " << KPilotSettings::workarounds() - << std::endl; - return 0; - } - - if ( "debug" == what ) - { - std::cout << "Debug: " << KPilotSettings::debug() - << "\nConfig: " << KPilotSettings::configVersion() - << std::endl; - return 0; - } - - std::cerr << "Unknown --show argument, use --show help for help.\n"; - return 1; -} - -int main(int argc, char **argv) -{ -#ifdef DEBUG - debug_level = 1; -#endif - FUNCTIONSETUP; - KAboutData about("kpilotTest", - I18N_NOOP("KPilotTest"), - KPILOT_VERSION, - "KPilot Tester", - KAboutData::License_GPL, "(C) 2001-2004, Adriaan de Groot"); - about.addAuthor("Adriaan de Groot", - I18N_NOOP("KPilot Maintainer"), - "groot@kde.org", "http://www.kpilot.org/"); - - KCmdLineArgs::init(argc, argv, &about); - KCmdLineArgs::addCmdLineOptions(generalOptions, - I18N_NOOP("General")); - KCmdLineArgs::addCmdLineOptions(conduitOptions, - I18N_NOOP("Conduit Actions"),"conduit"); - - KApplication::addCmdLineOptions(); - - KCmdLineArgs *p = KCmdLineArgs::parsedArgs(); - - bool needGUI = false; - - // Some versions need a GUI - needGUI |= (p->isSet("check")); - needGUI |= (p->isSet("exec")); // assume worst wrt. conduits - needGUI |= (p->isSet("restore")); - - KApplication a(needGUI,needGUI); -#ifdef DEBUG - KPilotConfig::getDebugLevel(p); - DEBUGKPILOT << fname << "Created KApplication." << endl; -#endif - - Pilot::setupPilotCodec(KPilotSettings::encoding()); - - TQString device( "/dev/pilot" ); - - if ( p->isSet("port") ) - { - device = p->getOption("port"); - } - - if ( p->isSet("check") ) - { - return check( device, p->getOption("check"), - KCmdLineArgs::parsedArgs("conduit") ); - } - - if ( p->isSet("show") ) - { - return show( p->getOption("show") ); - } - - if ( p->isSet("exec") ) - { - return exec( device, p->getOption("exec"), - KCmdLineArgs::parsedArgs("conduit") ); - } - - if ( p->isSet("list") ) - { - return listDB( device, - KCmdLineArgs::parsedArgs("conduit") ); - } - - if ( p->isSet("backup") ) - { - return backup( device, p->getOption("backup"), - KCmdLineArgs::parsedArgs("conduit") ); - } - - if ( p->isSet("restore") ) - { - return restore( device, p->getOption("restore"), - KCmdLineArgs::parsedArgs("conduit") ); - } - - - - std::cout << -"Usage: kpilotTest [--port devicename] action\n\n" -"Where action can be one of:\n" -"\t--list - list the databases on the handheld\n" -"\t--show (help | conduits | ...) - show configuration\n" -"\t--check (help | user | ...) - check device\n" -"\t--exec conduit - run a single conduit\n" -"\t--backup - backup the device\n" -"\t--restore - restore the device from backup\n" - << std::endl; - return 1; -} - - -- cgit v1.2.3