History log of /haiku/src/kits/package/RepositoryCache.cpp
Revision Date Author Comments
# e8533402 04-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Repository file format: group attributes of a package

* Introduce new package attribute B_HPKG_ATTRIBUTE_ID_PACKAGE (valid
only in a repository file) to group the attributes belonging to a
package.
* BRepositoryContentHandler:
- No longer derive from BPackageContentHandler.
- Add hooks HandlePackage() and HandlePackageDone() that bracket the
attributes for a package. This is more explicit and robust than
handlers having to guess when one package ended and the next began.
* BRepositoryCache: Make use of BPackageInfoContentHandler. No need to
duplicate the code for reading a package info from package info
attributes.


# c8928835 04-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BRepositoryCache: use BStandardErrorOutput


# 711a2a6e 12-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageInfoSet: Add copy constructor, assignment operator

* Implement copy-on-write support.
* Add copy constructor and assignment operator.
* Remove Init(). Initialize lazily instead. Since AddInfo() can fail
and we check initialization anyway, there's no point in having an
explicit Init(). Given that there was only one invocation of Init()
in the package kit and its users, it was very likely missing in some
places.
* Fix a few places where we ignored that the PackageMap actually
contains lists of PackageInfo objects.


# e35a99be 16-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Pull class BPackageInfoSet out of BRepositoryCache


# 4f5f15f0 16-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

BRepositoryCache: Add iteration, etc.

* Remove InitCheck() and the initializing constructor.
* Rename PackageCount() to CountPackages().
* Use BOpenHashTable instead of HashMap for the internal PackageMap.
* Allow multiple packages with the same name. Equally named packages are
in a singly linked list after the first package with that name.
* Add an Iterator inner class and a GetIterator() method, so one can now
iterate through the packages in the repository.


# 1524eed1 15-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Handle the newer package attributes

This unbreaks reading repository cache files using the respective
attributes.


# db9a50a2 16-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Pull class BPackageInfoSet out of BRepositoryCache


# 10e1bc52 16-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

BRepositoryCache: Add iteration, etc.

* Remove InitCheck() and the initializing constructor.
* Rename PackageCount() to CountPackages().
* Use BOpenHashTable instead of HashMap for the internal PackageMap.
* Allow multiple packages with the same name. Equally named packages are
in a singly linked list after the first package with that name.
* Add an Iterator inner class and a GetIterator() method, so one can now
iterate through the packages in the repository.


# abf1023d 15-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Handle the newer package attributes

This unbreaks reading repository cache files using the respective
attributes.


# f5644b8d 15-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

* prefer HashSet and HashMap to respective std-classes where possible

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40518 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c9acc4f8 15-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

* implemented reading of package-infos in BRepositoryCache


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40509 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0d68f6af 09-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

Implemented repository writing:
* fleshed out RepositoryWriterImpl
* renamed BRepositoryHeader to BRepositoryInfo (in accordance with
BPackageInfo)
* adjusted BRepositoryInfo to be able to parse itself from a
driver_settings file
* added package_repo binary (only 'create' works as of yet)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 733c783d 25-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

more work on package kit:
* rip BRepositoryHeader out of BRepositoryConfig and add support
for it to BRepositoryCache
* implement repository removal
* some minor cleanups


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40290 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7d7ed9bf 25-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

Mostly style-related changes to package kit:
* drop 'Haiku' namespace
* rename 'Package' namespace to 'BPackageKit'
* renamed all public classes to begin with a 'B'
* renamed BPackageKit::Roster to BPackageKit::BPackageRoster to not
clash with the BRoster from the application kit.
* fix some instances of public headers including private ones

Some functional changes, too:
* JobQueue now removes and deletes dependants of failed jobs
automatically
* JobQueue supports waiting for jobs to become runnable
* added a couple of InitCheck() methods where they make sense
and invoke those in users of these classes



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40287 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35edda8f 24-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* more work on the package kit, repositories can now be added and
refreshed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40280 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e85334022eac93e41fc48b61784336b25ea2bbc3 04-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Repository file format: group attributes of a package

* Introduce new package attribute B_HPKG_ATTRIBUTE_ID_PACKAGE (valid
only in a repository file) to group the attributes belonging to a
package.
* BRepositoryContentHandler:
- No longer derive from BPackageContentHandler.
- Add hooks HandlePackage() and HandlePackageDone() that bracket the
attributes for a package. This is more explicit and robust than
handlers having to guess when one package ended and the next began.
* BRepositoryCache: Make use of BPackageInfoContentHandler. No need to
duplicate the code for reading a package info from package info
attributes.


# c8928835c5938e7bb2372f56042af4446f0dc73f 04-Jul-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BRepositoryCache: use BStandardErrorOutput


# 711a2a6eea557acfd3b0737ec428334ef40155b9 12-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageInfoSet: Add copy constructor, assignment operator

* Implement copy-on-write support.
* Add copy constructor and assignment operator.
* Remove Init(). Initialize lazily instead. Since AddInfo() can fail
and we check initialization anyway, there's no point in having an
explicit Init(). Given that there was only one invocation of Init()
in the package kit and its users, it was very likely missing in some
places.
* Fix a few places where we ignored that the PackageMap actually
contains lists of PackageInfo objects.


# e35a99be4c1f386ea9a38e8daead534eb760a36a 16-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Pull class BPackageInfoSet out of BRepositoryCache


# 4f5f15f080a274d674119a49a3790ab0f6d234a1 16-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

BRepositoryCache: Add iteration, etc.

* Remove InitCheck() and the initializing constructor.
* Rename PackageCount() to CountPackages().
* Use BOpenHashTable instead of HashMap for the internal PackageMap.
* Allow multiple packages with the same name. Equally named packages are
in a singly linked list after the first package with that name.
* Add an Iterator inner class and a GetIterator() method, so one can now
iterate through the packages in the repository.


# 1524eed1636c01c61abf79b4fc04cb1fd0498668 15-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Handle the newer package attributes

This unbreaks reading repository cache files using the respective
attributes.


# db9a50a2c6ecaf7ce4d89595968cfaac2dc5885f 16-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Pull class BPackageInfoSet out of BRepositoryCache


# 10e1bc52678bd81eb2c9dd1de8661ecef0d22ee0 16-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

BRepositoryCache: Add iteration, etc.

* Remove InitCheck() and the initializing constructor.
* Rename PackageCount() to CountPackages().
* Use BOpenHashTable instead of HashMap for the internal PackageMap.
* Allow multiple packages with the same name. Equally named packages are
in a singly linked list after the first package with that name.
* Add an Iterator inner class and a GetIterator() method, so one can now
iterate through the packages in the repository.


# abf1023d31bdf9f17a696c8730365eba6b44bda2 15-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Handle the newer package attributes

This unbreaks reading repository cache files using the respective
attributes.


# f5644b8d3b228dc83dec139c43c0f6e55a3d984f 15-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

* prefer HashSet and HashMap to respective std-classes where possible

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40518 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c9acc4f8cd95e701cf69c9b925c14e2907a1815a 15-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

* implemented reading of package-infos in BRepositoryCache


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40509 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0d68f6afb34d8e01421123b216e34771d1c7fbfe 09-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

Implemented repository writing:
* fleshed out RepositoryWriterImpl
* renamed BRepositoryHeader to BRepositoryInfo (in accordance with
BPackageInfo)
* adjusted BRepositoryInfo to be able to parse itself from a
driver_settings file
* added package_repo binary (only 'create' works as of yet)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 733c783dc9cce693795e43d5bfec7b5ce4fd32f8 25-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

more work on package kit:
* rip BRepositoryHeader out of BRepositoryConfig and add support
for it to BRepositoryCache
* implement repository removal
* some minor cleanups


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40290 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7d7ed9bf4bdd7bc31e31143c402c4f96a324b30b 25-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

Mostly style-related changes to package kit:
* drop 'Haiku' namespace
* rename 'Package' namespace to 'BPackageKit'
* renamed all public classes to begin with a 'B'
* renamed BPackageKit::Roster to BPackageKit::BPackageRoster to not
clash with the BRoster from the application kit.
* fix some instances of public headers including private ones

Some functional changes, too:
* JobQueue now removes and deletes dependants of failed jobs
automatically
* JobQueue supports waiting for jobs to become runnable
* added a couple of InitCheck() methods where they make sense
and invoke those in users of these classes



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40287 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35edda8f0befb8667b593e2314f6d555a7db44d8 24-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* more work on the package kit, repositories can now be added and
refreshed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40280 a95241bf-73f2-0310-859d-f6bbb57e9c96