1.1 --- a/libfsserver/include/fsserver/provider_registry.h Fri Dec 31 00:56:25 2021 +0100
1.2 +++ b/libfsserver/include/fsserver/provider_registry.h Tue Jan 04 19:22:01 2022 +0100
1.3 @@ -25,14 +25,19 @@
1.4 #include <mutex>
1.5
1.6 #include <mem/types.h>
1.7 -#include <fsserver/accountable.h>
1.8
1.9
1.10
1.11 -/* Mapping type from file identifiers to page mappers. */
1.12 +/* Forward declaration. */
1.13 +
1.14 +class Provider;
1.15 +
1.16
1.17 -typedef std::map<fileid_t, Accountable *> FileMapping;
1.18 -typedef std::pair<fileid_t, Accountable *> FileMappingEntry;
1.19 +
1.20 +/* Mapping type from file identifiers to providers. */
1.21 +
1.22 +typedef std::map<fileid_t, Provider *> ProviderMapping;
1.23 +typedef std::pair<fileid_t, Provider *> ProviderMappingEntry;
1.24
1.25
1.26
1.27 @@ -41,21 +46,21 @@
1.28 class ProviderRegistry
1.29 {
1.30 protected:
1.31 - FileMapping _providers;
1.32 + ProviderMapping _providers;
1.33 std::mutex _lock;
1.34
1.35 /* Filesystem object access. */
1.36
1.37 - Accountable *get(fileid_t fileid);
1.38 + Provider *get(fileid_t fileid);
1.39
1.40 - void remove(fileid_t fileid, Accountable *obj);
1.41 + void remove(fileid_t fileid, Provider *obj);
1.42
1.43 - void set(fileid_t fileid, Accountable *obj);
1.44 + void set(fileid_t fileid, Provider *obj);
1.45
1.46 public:
1.47 /* Methods for resources. */
1.48
1.49 - void detach(fileid_t fileid, Accountable *mapper);
1.50 + void detach(fileid_t fileid, Provider *mapper);
1.51 };
1.52
1.53 // vim: tabstop=4 expandtab shiftwidth=4
2.1 --- a/libfsserver/lib/generic/provider_registry.cc Fri Dec 31 00:56:25 2021 +0100
2.2 +++ b/libfsserver/lib/generic/provider_registry.cc Tue Jan 04 19:22:01 2022 +0100
2.3 @@ -21,6 +21,10 @@
2.4
2.5 #include "provider_registry.h"
2.6
2.7 +/* To complete forward declaration. */
2.8 +
2.9 +#include "provider.h"
2.10 +
2.11
2.12
2.13 /* Methods for use with the lock already acquired. */
2.14 @@ -28,10 +32,10 @@
2.15 /* Return any registered provider for the given 'fileid' or NULL if no such
2.16 provider is registered. */
2.17
2.18 -Accountable *ProviderRegistry::get(fileid_t fileid)
2.19 +Provider *ProviderRegistry::get(fileid_t fileid)
2.20 {
2.21 - FileMapping::iterator entry = _providers.find(fileid);
2.22 - Accountable *provider;
2.23 + ProviderMapping::iterator entry = _providers.find(fileid);
2.24 + Provider *provider;
2.25
2.26 if (entry == _providers.end())
2.27 provider = NULL;
2.28 @@ -43,7 +47,7 @@
2.29
2.30 /* Remove a provider and its resources for the given 'fileid'. */
2.31
2.32 -void ProviderRegistry::remove(fileid_t fileid, Accountable *provider)
2.33 +void ProviderRegistry::remove(fileid_t fileid, Provider *provider)
2.34 {
2.35 _providers.erase(fileid);
2.36 delete provider;
2.37 @@ -51,9 +55,9 @@
2.38
2.39 /* Register a 'provider' for the given 'fileid'. */
2.40
2.41 -void ProviderRegistry::set(fileid_t fileid, Accountable *provider)
2.42 +void ProviderRegistry::set(fileid_t fileid, Provider *provider)
2.43 {
2.44 - FileMapping::iterator entry = _providers.find(fileid);
2.45 + ProviderMapping::iterator entry = _providers.find(fileid);
2.46
2.47 if (entry != _providers.end())
2.48 return;
2.49 @@ -65,7 +69,7 @@
2.50
2.51 /* Detach from a provider, potentially removing it from the registry. */
2.52
2.53 -void ProviderRegistry::detach(fileid_t fileid, Accountable *provider)
2.54 +void ProviderRegistry::detach(fileid_t fileid, Provider *provider)
2.55 {
2.56 std::lock_guard<std::mutex> guard(_lock);
2.57