summaryrefslogtreecommitdiff
path: root/src/dir.h
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2019-07-21 13:54:41 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2019-07-21 13:54:41 +0100
commit67684b3a9a7205cef15f5978b5adc4df632f5af5 (patch)
tree630a28d313047bf6440b0c349047c6c8de0cb298 /src/dir.h
parentAdd a test symlink (diff)
downloadnetfs-gitfs-67684b3a9a7205cef15f5978b5adc4df632f5af5.tar.bz2
netfs-gitfs-67684b3a9a7205cef15f5978b5adc4df632f5af5.tar.xz
netfs-gitfs-67684b3a9a7205cef15f5978b5adc4df632f5af5.zip
Basically all the core functionality
Diffstat (limited to 'src/dir.h')
-rw-r--r--src/dir.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/dir.h b/src/dir.h
index 74afde3..7174976 100644
--- a/src/dir.h
+++ b/src/dir.h
@@ -6,17 +6,22 @@
namespace GitFS {
using namespace NetFS;
+ class Repo;
class Directory : public DirectoryV2 {
public:
- Directory(const GitFS::Git::TreePtr & r, const std::string &);
+ Directory(const Repo * r, const std::string &);
void close(const ::Ice::Current& current) override;
NameList readdir(const ::Ice::Current& current) override;
DirectoryContents listdir(const ::Ice::Current& current) override;
private:
- Git::TreePtr tree;
+ Git::TreePtr getSubtree() const;
+ const Repo * repo;
const std::string path;
+
+ mutable Git::TreePtr subTreeCache;
+ mutable git_oid subTreeCacheRootId;
};
}