1.1 --- a/libfsserver/include/fsserver/file_object_registry.h Sat Oct 16 23:41:12 2021 +0200
1.2 +++ b/libfsserver/include/fsserver/file_object_registry.h Sun Oct 17 18:48:30 2021 +0200
1.3 @@ -37,35 +37,43 @@
1.4 protected:
1.5 Pages *_pages;
1.6
1.7 - /* Resource initialisation methods. */
1.8 -
1.9 map_flags_t get_flags(flags_t flags);
1.10
1.11 - long get_directory_provider(FileOpening *opening, const char *path,
1.12 - flags_t flags, fileid_t fileid,
1.13 - DirectoryProvider **directory_provider);
1.14 + /* Provider initialisation methods. */
1.15 +
1.16 + long make_directory_provider(FileOpening *opening, const char *path,
1.17 + flags_t flags, fileid_t fileid,
1.18 + Provider **provider);
1.19
1.20 - long get_file_provider(FileOpening *opening, const char *path,
1.21 - flags_t flags, fileid_t fileid,
1.22 - FileProvider **file_provider);
1.23 + long make_file_provider(FileOpening *opening, const char *path,
1.24 + flags_t flags, fileid_t fileid,
1.25 + Provider **provider);
1.26 +
1.27 + long make_provider(FileOpening *opening, const char *path,
1.28 + flags_t flags, fileid_t fileid,
1.29 + Provider **provider);
1.30
1.31 /* Resource initialisation methods. */
1.32
1.33 - long get_directory(FileOpening *opening, const char *path, flags_t flags,
1.34 - fileid_t fileid, offset_t *size, object_flags_t *object_flags,
1.35 - Resource **resource);
1.36 + long make_directory_resource(fileid_t fileid, offset_t *size,
1.37 + object_flags_t *object_flags,
1.38 + DirectoryProvider *provider,
1.39 + Resource **resource);
1.40
1.41 - long get_file(FileOpening *opening, const char *path, flags_t flags,
1.42 - fileid_t fileid, offset_t *size, object_flags_t *object_flags,
1.43 - Resource **resource);
1.44 + long make_file_resource(flags_t flags, fileid_t fileid, offset_t *size,
1.45 + object_flags_t *object_flags,
1.46 + FileProvider *provider, Resource **resource);
1.47 +
1.48 + long make_resource(flags_t flags, fileid_t fileid, offset_t *size,
1.49 + object_flags_t *object_flags,
1.50 + Provider *provider, Resource **resource);
1.51
1.52 public:
1.53 explicit FileObjectRegistry(Pages *pages);
1.54
1.55 /* Resource discovery methods. */
1.56
1.57 - long find_directory_provider(fileid_t fileid,
1.58 - DirectoryProvider **directory_provider);
1.59 + long find_provider(fileid_t fileid, Provider **provider);
1.60
1.61 /* Resource initialisation methods. */
1.62