< Projects‎ | KNS2
(Proposed API)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{warning|Names are just temporary. Infos can be as well. Please don't trust this page as probably most of the things are going to heavily change during this 1 month developement marathone.}}
 
{{warning|Names are just temporary. Infos can be as well. Please don't trust this page as probably most of the things are going to heavily change during this 1 month developement marathone.}}
  
= The Bundler =
+
= The Handler =
 
This class is meant to provide a non-GUI and class to manage KNS packages. It's meant to be used from application themselves.
 
This class is meant to provide a non-GUI and class to manage KNS packages. It's meant to be used from application themselves.
  
Line 9: Line 9:
 
* more...
 
* more...
  
=== API ===
+
=== Proposed API ===
  
* '''Bundler(QString/QFile filename)''' Creates a bundler that operates on the given package. Note that the package needs to be unpacked somewhere first, so operating on a dir is much faster
+
* '''Handler(QString filename)''' Creates a bundler that operates on the given package. Note that the package needs to be unpacked somewhere first, so operating on a dir is much faster
* '''Bundler(KUrl dir)''' Creates a bundler that operates on the given directory.
+
* '''Handler(KUrl dir)''' Creates a bundler that operates on the given directory.
* '''extractTo(KUrl dir)''' Extract (install) the package into the given dir.
+
* '''Handler(QString packageName, QString packageVersion)''' Creates a bundler that operates on the package already installed in the standard way.
* '''KPluginInfo metadata()''' Returns a pluginInfo object. You can retrive most of the metadata from it.
+
* '''install()''' Extracts (installs) the package, and puts the .desktop file in $KDEHOME/services/. See [[../Layout|here]] for more informations.
* '''QFile mapFile(QString filename)'''
+
 
 +
 
 +
* '''initLayout()''' Initializes the layout app-wise. It should be called only once. It will use KStandardDirs::saveLocation() to create needed dirs. See [[../Layout|the layout section]] for more informations.
 +
* '''installDesktopFile()''' ''Obsoleted by install()?''
 +
* '''bool isInstalled()''' True if the package is already installed, false otherwise
 +
* '''QFile packageFile()''' Returns a QFile pointing to the zipped package.
 +
* '''QDir packageDir()''' Returns an (absolute) QDir pointing to the folder of the installed package.
 
* ...
 
* ...

Latest revision as of 18:05, 24 March 2007

Warning
Names are just temporary. Infos can be as well. Please don't trust this page as probably most of the things are going to heavily change during this 1 month developement marathone.


The Handler

This class is meant to provide a non-GUI and class to manage KNS packages. It's meant to be used from application themselves.

It will be able to:

  • Unpack packages
  • Map package files to standard QFiles
  • more...

Proposed API

  • Handler(QString filename) Creates a bundler that operates on the given package. Note that the package needs to be unpacked somewhere first, so operating on a dir is much faster
  • Handler(KUrl dir) Creates a bundler that operates on the given directory.
  • Handler(QString packageName, QString packageVersion) Creates a bundler that operates on the package already installed in the standard way.
  • install() Extracts (installs) the package, and puts the .desktop file in $KDEHOME/services/. See here for more informations.


  • initLayout() Initializes the layout app-wise. It should be called only once. It will use KStandardDirs::saveLocation() to create needed dirs. See the layout section for more informations.
  • installDesktopFile() Obsoleted by install()?
  • bool isInstalled() True if the package is already installed, false otherwise
  • QFile packageFile() Returns a QFile pointing to the zipped package.
  • QDir packageDir() Returns an (absolute) QDir pointing to the folder of the installed package.
  • ...

This page was last edited on 24 March 2007, at 18:05. Content is available under Creative Commons License SA 4.0 unless otherwise noted.