Skip to content

Commit be30c50

Browse files
maciejbaczmanskimarkaj-nordic
authored andcommitted
[nrf toup][nrfconnect] Refactor ExternalFlashManager
Make `ExternalFlashManager` a singleton Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
1 parent acb371d commit be30c50

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/platform/nrfconnect/ExternalFlashManager.h

+16-2
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,19 @@ class ExternalFlashManager
3131
SLEEP
3232
};
3333

34-
virtual ~ExternalFlashManager() {}
34+
// Not copyable or movable
35+
ExternalFlashManager(ExternalFlashManager &&) = delete;
36+
ExternalFlashManager & operator=(const ExternalFlashManager &) = delete;
37+
ExternalFlashManager(const ExternalFlashManager &) = delete;
38+
ExternalFlashManager & operator=(ExternalFlashManager &&) = delete;
3539

36-
virtual void DoAction(Action aAction)
40+
static ExternalFlashManager& GetInstance()
41+
{
42+
static ExternalFlashManager sExternalFlashManager;
43+
return sExternalFlashManager;
44+
}
45+
46+
void DoAction(Action aAction)
3747
{
3848
#if defined(CONFIG_PM_DEVICE) && defined(CONFIG_NORDIC_QSPI_NOR)
3949
// utilize the QSPI driver sleep power mode
@@ -45,6 +55,10 @@ class ExternalFlashManager
4555
}
4656
#endif
4757
}
58+
59+
private:
60+
// Singleton Object
61+
ExternalFlashManager() = default;
4862
};
4963

5064
} // namespace DeviceLayer

0 commit comments

Comments
 (0)