History log of /haiku-fatelf/src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h
Revision Date Author Comments
# 166412ff 15-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix notifications when adding package link dir

When adding a new package link directory, the volume would only be
notified about the addition of the directory itself, not of the addition
of its contents. Add a new PackageLinkDirectory::NotifyDirectoryAdded()
which does the whole job and use it in
PackageLinksDirectory::AddPackage().


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

Implement more virtuals in Node and Directory

* Node: Add default implementations for UserID(), GroupID(),
OpenAttributeDirectory(), and OpenAttribute().
* Directory: Add default implementations for Mode() and FileSize().
* Remove the respective hook implementations in the PackageLink*
classes.


# 7c81c34e 25-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add dependency package links

The links appear, but the dependency resolution doesn't seem to work
correctly yet.


# c6dd2207 25-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move PackageLinkDirectory::Link to own file

And rename it to PackageLinkSymlink.


# 106c8c61 25-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Resolve dependencies to resolvables


# d8ea0a8a 24-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix package link updates/node monitoring

* PackageLinksListener: Rename methods from *Directory*() to *Node*()
and change parameter to Node*. Also add a *Changed() method.
* PackageLinkDirectory: Update only when necessary and what is necessary
(currently only the self link).


# fcdac386 23-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add Node::Init() flags parameter

* Add Node::Init() flags:
- NODE_FLAG_KEEP_NAME: Take over ownership of the name.
- NODE_FLAG_CONST_NAME: Don't copy the name -- it's a constant that
lives at least as long as the object.
* Remove Init() implementations in derived classes that just call the
base class version.


# d78a784b 23-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Create self package link


# fe49869e 23-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add package link directories to system volume

* Add PackageLinksListener interface. It is used by
PackageLink[s]Directory to notify a listener about changes.
* Volume does now implement PackageLinksListener and recursively adds/
removes package link directories.

This makes the package link directories appear at least. They are still
empty.


# b5baaa84 23-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

WIP: Create empty package links directories

* Rename PackageFamily to PackageLinkDirectory and derive from
Directory.
* PackageLinksDirectory: Add the PackageLinkDirectory objects as
children and remove the no longer needed hash table (we use the
Directory's child hash table).


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

Fix notifications when adding package link dir

When adding a new package link directory, the volume would only be
notified about the addition of the directory itself, not of the addition
of its contents. Add a new PackageLinkDirectory::NotifyDirectoryAdded()
which does the whole job and use it in
PackageLinksDirectory::AddPackage().


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

Implement more virtuals in Node and Directory

* Node: Add default implementations for UserID(), GroupID(),
OpenAttributeDirectory(), and OpenAttribute().
* Directory: Add default implementations for Mode() and FileSize().
* Remove the respective hook implementations in the PackageLink*
classes.


# 7c81c34e686c8ec45e68e36d5b1611cdc99917a4 25-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add dependency package links

The links appear, but the dependency resolution doesn't seem to work
correctly yet.


# c6dd220780584bd9debaad5bd82bab1dc953b881 25-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move PackageLinkDirectory::Link to own file

And rename it to PackageLinkSymlink.


# 106c8c6153967c0c93e93f220504567a75d9d96e 25-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Resolve dependencies to resolvables


# d8ea0a8a31ee4d741497bb8b2b08bd52577b06db 24-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Fix package link updates/node monitoring

* PackageLinksListener: Rename methods from *Directory*() to *Node*()
and change parameter to Node*. Also add a *Changed() method.
* PackageLinkDirectory: Update only when necessary and what is necessary
(currently only the self link).


# fcdac38641324da5f35f398d345c33c3fa12d920 23-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add Node::Init() flags parameter

* Add Node::Init() flags:
- NODE_FLAG_KEEP_NAME: Take over ownership of the name.
- NODE_FLAG_CONST_NAME: Don't copy the name -- it's a constant that
lives at least as long as the object.
* Remove Init() implementations in derived classes that just call the
base class version.


# d78a784b4ba94348b792765b30c961b4b0ba0ae0 23-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Create self package link


# fe49869e03e724de875ad54c91f9f66275cfcf32 23-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add package link directories to system volume

* Add PackageLinksListener interface. It is used by
PackageLink[s]Directory to notify a listener about changes.
* Volume does now implement PackageLinksListener and recursively adds/
removes package link directories.

This makes the package link directories appear at least. They are still
empty.


# b5baaa8428dc8319bb8a040430cd44a9ae18b677 23-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

WIP: Create empty package links directories

* Rename PackageFamily to PackageLinkDirectory and derive from
Directory.
* PackageLinksDirectory: Add the PackageLinkDirectory objects as
children and remove the no longer needed hash table (we use the
Directory's child hash table).