#ifndef _SysInfo_CONDUIT_H
#define _SysInfo_CONDUIT_H
/* sysinfo-conduit.h                           KPilot
**
** Copyright (C) 2003 by Reinhold Kainhofer
**
*/

/*
** 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., 59 Temple Place, Suite 330, Boston,
** MA 02111-1307, USA.
*/

/*
** Bug reports and questions can be sent to kde-pim@kde.org
*/


#include <plugin.h>

class SysInfoConduit : public ConduitAction
{
	Q_OBJECT
public:
	SysInfoConduit(
		KPilotDeviceLink *o,
		const char *n = 0L,
		const QStringList &a = QStringList() );
	virtual ~SysInfoConduit();
	virtual bool exec();

public slots:
	void hardwareInfo();
	void userInfo();
	void memoryInfo();
	void storageInfo();
	void dbListInfo();
	void recNumberInfo();
	void syncInfo();
	void pcVersionInfo();
	void palmVersionInfo();
	void debugInfo();
	void writeFile();
	void cleanup();

protected:
	void readConfig();
private:
	QMap<QString,QString> fValues;

	bool fHardwareInfo, fUserInfo, fMemoryInfo, fStorageInfo,
		fDBList, fRecordNumber, fSyncInfo,
		fKDEVersion, fPalmOSVersion, fDebugInfo;
	QString fOutputFile, fTemplateFile;
	enum eOutputTypeEnum {
		eOutputHTML=0,
		eOutputText,
		eOutputTemplate
	} fOutputType;

	QPtrList<DBInfo> dblist;
	QStringList removeParts;
	QStringList keepParts;
	static const QString defaultpage;
} ;

#endif
