Commit Graph

117 Commits

Author SHA1 Message Date
Aaron Seigo
fbde93c64f give package a cache for found items; make the dptr implicitly shared
this drops a 100k loop of copies from ~2700ms to ~37ms and a 100k loop
of copy-n-find from ~3900ms to ~40ms.

the cache addition is predicated on the idea that lookups of the same files will be frequent enough to warrant the small amount of extra memory usage for the cache. if that does not hold in practice (though it appears to) then this will not be a gain and in fact be a small net loss for memory footprint

the dptr change is predicated on the assumption that copies of Package will be frequent, and so must be low cost. this is known to be true. even if it wasn't, there is no down-side to this change. the upside are significant time and memory savings.
2011-07-22 17:24:40 +02:00
Aaron Seigo
1ca9580149 call initPackage in the ctor 2011-07-21 15:04:56 +02:00
Aaron Seigo
678d5d81ef fix assignment and copy operators 2011-07-21 14:57:43 +02:00
Aaron Seigo
f3a66f1f79 allow stripping out the name and mimetype data from the package info; only really useful for package introspection (e.g. in plasmate and other such tools) but a waste on mobile 2011-07-21 14:41:01 +02:00
Aaron Seigo
35898d57f1 get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
Aaron Seigo
fb3a64ba6c make Package use PackageStructure, remove all virtuals
also kills the read/write methods as precisely zero things were using it
2011-07-19 21:37:39 +02:00
Aaron Seigo
911dcabb5a return the hex representation, as we used to
and now, plasmoidpackagetest passes 6 out of 6 tests. huzzah!
2011-07-15 14:24:35 +02:00
Aaron Seigo
08c07c4a0d d->path, not path. error while merging. thank goodness for unit tests. 2011-07-15 14:17:42 +02:00
Aaron Seigo
cfa12b6c90 put package loading into PluginLoader with the rest of them 2011-07-15 13:34:10 +02:00
Aaron Seigo
d91fede662 merge packagestructure with package, make the commensurate change in the build 2011-07-15 12:57:46 +02:00
Aaron Seigo
0be4634b60 Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-13 20:40:03 +02:00
Marco Martin
a4d079975b a new PackageStructure type: GenericComponent
this component will be used for loading generic repositories of files,
usually will be repositories of QML files
2011-07-13 20:32:25 +02:00
Aaron Seigo
0633f2fd28 isPublished no longer required 2011-07-13 20:07:33 +02:00
Aaron Seigo
2f1c50c419 remove unpublish 2011-07-13 20:06:09 +02:00
Aaron Seigo
0fa24619d4 remove publish functionality 2011-07-13 20:05:07 +02:00
Aaron Seigo
97682614dd these list methods, while theoretically useful, were not actually used. out they go.
if we ever need something like this, it should be provided by the plugin itself so
as to be plugin neutral.
2011-07-13 18:04:29 +02:00
Aaron Seigo
b4dbbbb7d0 get rid of the convenience method; not used 2011-07-08 20:08:06 +02:00
Aaron Seigo
755a1f2ba6 more accurate (c) 2011-07-08 19:36:29 +02:00
Aaron Seigo
273b09d3db use KPluginInfo instead of PackageMetadata 2011-05-31 01:02:45 +02:00
Aaron Seigo
cd32321b68 Merge branch 'libplasma2_signedpackages' into libplasma2
Conflicts:
	plasma/package.cpp
2011-05-30 23:41:53 +02:00
Aaron Seigo
840ae26b2d use QCryptographicHash instead of QCA 2011-05-27 12:26:59 +02:00
Aaron Seigo
2caa24b1b8 need to init qca 2011-05-26 16:03:38 +02:00
Aaron Seigo
3b6a49b5bd need to init qca 2011-05-26 16:02:01 +02:00
Aaron Seigo
89c7e9b726 remove createPackage as well; it's a bit impl-specific and isn't used anywhere 2011-05-20 10:48:29 +02:00
Aaron Seigo
0c847e15f0 remove registerPackage; the impl is broken (assume a plasmoid) and isn't used 2011-05-20 10:45:22 +02:00
Aaron Seigo
bd2cb96e55 move install/uninstallPackage implementaton into PackageStructure 2011-05-20 10:43:40 +02:00
Aaron Seigo
9cdbf422ff consolidate remoting files, add signing gsoc 2011-04-29 15:18:35 +02:00
Aaron J. Seigo
65d5227bec fix and extend debug output
svn path=/trunk/KDE/kdelibs/; revision=1206642
2010-12-15 07:13:20 +00:00
Aaron J. Seigo
b6edd5beca treat no prefixes as the same as one prefix starting at the package root. probably not a bottleneck, but the duplicated code indicates that this may be better placed in PackageStructure in future. this is the path (excuse the pun :) of least change, however.
svn path=/trunk/KDE/kdelibs/; revision=1206637
2010-12-15 06:29:36 +00:00
Marco Martin
1e78bff90a remove double slashes
svn path=/trunk/KDE/kdelibs/; revision=1193160
2010-11-04 21:54:14 +00:00
Marco Martin
3cc339a852 use PLASMA_CUSTOM_PREFIX_PATHS environmant variable as optional custom fallback chain for plasmoidpackage (should it be for -all- packages?)
svn path=/trunk/KDE/kdelibs/; revision=1193156
2010-11-04 21:16:12 +00:00
Marco Martin
5e9d88496a FEATURE: fallback paths for the contents prefixes as well.
this is basically a merge of http://reviewboard.kde.org/r/5765/ with http://svn.reviewboard.kde.org/r/5763

svn path=/trunk/KDE/kdelibs/; revision=1193135
2010-11-04 19:18:32 +00:00
Aaron J. Seigo
95a18aca96 use search paths; unit tests still pass. RB #5763. opens the way for device specific files, for instance, so a plasmoid will be able to have different qml files for different targets (where that makes sense).
svn path=/trunk/KDE/kdelibs/; revision=1192748
2010-11-03 22:12:30 +00:00
Kevin Ottens
83fba085c0 Should be enough to repair the package install/uninstall in the mobile
case.

svn path=/trunk/KDE/kdelibs/; revision=1185886
2010-10-14 13:23:56 +00:00
Aaron J. Seigo
900023b40e build; constify a bit
svn path=/trunk/KDE/kdelibs/; revision=1185872
2010-10-14 12:56:18 +00:00
Kevin Ottens
c0f66faad7 Allow to build libplasma without KIO. Only issue is that the
copying/moving/removal of folders is defunct (so is the package
install/uninstall).

svn path=/trunk/KDE/kdelibs/; revision=1185865
2010-10-14 12:27:15 +00:00
Aaron J. Seigo
3383a999c8 a little less noise
svn path=/trunk/KDE/kdelibs/; revision=1171719
2010-09-04 22:50:50 +00:00
Aaron J. Seigo
4d81dce65e make package copyable and assignable
svn path=/trunk/KDE/kdelibs/; revision=1171413
2010-09-03 19:44:28 +00:00
Aaron J. Seigo
eb6c5443e9 keep going even if the .desktop file wasn't there; allows package removl to work even after botched installation
svn path=/trunk/KDE/kdelibs/; revision=1161151
2010-08-09 20:39:34 +00:00
Aaron J. Seigo
5505c4a7b0 allow arbitrary in-package paths with empty filetypes
svn path=/trunk/KDE/kdelibs/; revision=1100981
2010-03-09 05:57:57 +00:00
Anne-Marie Mahfouf
e56a637bbf support .tar.bz2 plasma theme packages as there are many of them
svn path=/trunk/KDE/kdelibs/; revision=1077451
2010-01-20 09:47:28 +00:00
Laurent Montel
a03e56aa19 Fix mem leak
svn path=/trunk/KDE/kdelibs/; revision=1058199
2009-12-04 08:31:53 +00:00
Aaron J. Seigo
65eda15e5d private headers
svn path=/trunk/KDE/kdelibs/; revision=1053920
2009-11-25 01:09:17 +00:00
Artur Duque de Souza
631f1052b1 Fix name issue with scripted plasmoids
Due to some problems reading from KWallet, just get the
name of the machine. Suggested by pinda to solve problem
with JS plasmoids being shared without machine names.

Reviewed by pinda

svn path=/trunk/KDE/kdelibs/; revision=1037774
2009-10-19 23:04:42 +00:00
Aaron J. Seigo
277eaeebe0 inverted logic
svn path=/trunk/KDE/kdelibs/; revision=1035748
2009-10-15 19:34:34 +00:00
Aaron J. Seigo
d73831e8f0 * hash() -> contentsHash()
* add the metadata file to the hash as well
* update test

svn path=/trunk/KDE/kdelibs/; revision=1026497
2009-09-21 21:48:19 +00:00
Aaron J. Seigo
19f55f804b packages can now generate a hash of their contents; inc unit test
svn path=/trunk/KDE/kdelibs/; revision=1026489
2009-09-21 21:37:44 +00:00
Rob Scheepmaker
9cb9cfe65e Push in remote widgets
svn path=/trunk/KDE/kdelibs/; revision=1018655
2009-09-02 02:27:16 +00:00
Aaron J. Seigo
0cdd7388b4 * make it possibl to install packages without registering them as a service
* support tar and compressed tar as well as zip
* support archives that contain the actual package in a top level subdir

themes and wallpapers now install nicely.

svn path=/trunk/KDE/kdelibs/; revision=1002165
2009-07-25 09:34:19 +00:00
Alex Merry
f5c6a90996 An error here with no warning tripped me up, so notify the user if it failed.
svn path=/trunk/KDE/kdelibs/; revision=969044
2009-05-17 12:16:52 +00:00