# knewstuff Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KNewStuffSecure Class Reference

Makes possible downloading and installing signed resource files from a server. More...

`#include <knewstuffsecure.h>`

Inheritance diagram for KNewStuffSecure:

[legend]
Collaboration diagram for KNewStuffSecure:

[legend]
List of all members.

## Signals

void | installFinished ()

## Public Member Functions

| KNewStuffSecure (const QString &type, QWidget *parentWidget=0)
bool | install (const QString &fileName)
bool | createUploadFile (const QString &fileName)
void | downloadResource ()
void | uploadResource (const QString &fileName)

## Protected Member Functions

virtual void | installResource ()=0
void | removeTempDirectory ()

## Protected Attributes

KTempDir * | m_tempDir
QString | m_tarName
QString | m_signedFileName
QMap< QString, QString > | m_installedResources

## Detailed Description

Makes possible downloading and installing signed resource files from a server.

You must subclass it and implement the installResource() pure virtual method to install a resource. For uploading you must create a resource tarball (which is installabale by installResource()) and call the uploadResource() method with this tarball as the argument. Signing and verification is done by the gpg application, so the user must have it installed, otherwise this class does not give any extra security compared to the standard KNewStuff class.

Since:
  3.4

Author:
  Andras Mantia <amantia@kde.org>

Definition at line 40 of file knewstuffsecure.h.

## Constructor & Destructor Documentation

KNewStuffSecure::KNewStuffSecure | ( | const QString & | type,
|  | QWidget * | parentWidget = `0`
| ) |

Constructor.

Parameters:

  | type | type of data to be handled, should be something like korganizer/calendar, kword/template, kdesktop/wallpaper
  | parentWidget | parent widget of dialogs opened by the KNewStuff engine

Definition at line 36 of file knewstuffsecure.cpp.

References QObject::connect(), and KNewStuff::engine().

## Member Function Documentation

bool KNewStuffSecure::install | ( | const QString & | fileName | ) | `[virtual]`

| Installs the downloaded resource. Do not call or reimplement directly. It's reimplemented from KNewStuff for internal reasons. Implements KNewStuff. Definition at line 49 of file knewstuffsecure.cpp. References QObject::connect(), QString::isEmpty(), KNewStuff::parentWidget(), QString::prepend(), and removeTempDirectory().

bool KNewStuffSecure::createUploadFile | ( | const QString & | fileName | ) | `[virtual]`

| Reimplemented for internal reasons. Implements KNewStuff. Definition at line 168 of file knewstuffsecure.cpp.

void KNewStuffSecure::downloadResource | ( |  | ) |

| Initiates a download. This is the method that must be called in order to download a signed resource. Definition at line 160 of file knewstuffsecure.cpp. References KNewStuff::download(), KNewStuff::engine(), and KNS::Engine::ignoreInstallResult().

void KNewStuffSecure::uploadResource | ( | const QString & | fileName | ) |

Signs the file and uploads to the central server.

Parameters:

  | fileName | The file to be signed and uploaded

Definition at line 174 of file knewstuffsecure.cpp.

References QObject::connect(), QFileInfo::fileName(), and removeTempDirectory().

virtual void KNewStuffSecure::installResource | ( |  | ) | `[protected, pure virtual]`

| Installs the resource specified by m_tarName. Implement it in the subclass.

void KNewStuffSecure::removeTempDirectory | ( |  | ) | `[protected]`

| Removes the temporary directory m_tempDir. Definition at line 230 of file knewstuffsecure.cpp. References KNewStuff::parentWidget(). Referenced by install(), and uploadResource().

The documentation for this class was generated from the following files:

- knewstuffsecure.h
- knewstuffsecure.cpp

This file is part of the documentation for knewstuff Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:28:38 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003