Make generic and client backends private static
Rather than global variables with static scope, make them private static members of their respective classes. Change-Id: I20f0ad1d63fe14001266058983b0d013058667dc
This commit is contained in:
parent
bf7f0dffee
commit
7a69d5507a
3 changed files with 20 additions and 8 deletions
|
|
@ -31,16 +31,19 @@ class ClientCompositionPlanner : public CompositionPlanner {
|
|||
|
||||
class ClientBackendPipelineCreator : public GenericPipelineCreator {
|
||||
public:
|
||||
ClientBackendPipelineCreator() : GenericPipelineCreator("client") {
|
||||
}
|
||||
std::unique_ptr<CompositionPlanner> CreateCompositionPlanner() override {
|
||||
return std::make_unique<ClientCompositionPlanner>();
|
||||
}
|
||||
|
||||
private:
|
||||
ClientBackendPipelineCreator() : GenericPipelineCreator("client") {
|
||||
}
|
||||
|
||||
static ClientBackendPipelineCreator instance;
|
||||
};
|
||||
|
||||
// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables,
|
||||
// cert-err58-cpp)
|
||||
static ClientBackendPipelineCreator client_backend;
|
||||
// NOLINTNEXTLINE(cert-err58-cpp)
|
||||
ClientBackendPipelineCreator ClientBackendPipelineCreator::instance;
|
||||
|
||||
} // namespace
|
||||
} // namespace android::drm_hwcomposer
|
||||
|
|
|
|||
|
|
@ -21,6 +21,10 @@
|
|||
|
||||
namespace android::drm_hwcomposer {
|
||||
|
||||
GenericPipelineCreator::GenericPipelineCreator()
|
||||
: GenericPipelineCreator("generic") {
|
||||
}
|
||||
|
||||
GenericPipelineCreator::GenericPipelineCreator(const std::string& name)
|
||||
: BackendManager::PipelineCreator(name) {
|
||||
}
|
||||
|
|
@ -39,7 +43,7 @@ GenericPipelineCreator::CreateCompositionPlanner() {
|
|||
return std::make_unique<GenericCompositionPlanner>();
|
||||
}
|
||||
|
||||
// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
|
||||
static GenericPipelineCreator generic_pipeline_creator("generic");
|
||||
// NOLINTNEXTLINE(cert-err58-cpp)
|
||||
GenericPipelineCreator GenericPipelineCreator::instance;
|
||||
|
||||
} // namespace android::drm_hwcomposer
|
||||
|
|
|
|||
|
|
@ -25,15 +25,20 @@ namespace android::drm_hwcomposer {
|
|||
// using generic heuristics on top of upstream drm uAPI.
|
||||
class GenericPipelineCreator : public BackendManager::PipelineCreator {
|
||||
public:
|
||||
explicit GenericPipelineCreator(const std::string& name);
|
||||
std::unique_ptr<DrmDisplayPipeline> CreatePipeline(
|
||||
DrmConnector& connector) override;
|
||||
|
||||
protected:
|
||||
explicit GenericPipelineCreator(const std::string& name);
|
||||
|
||||
// Create a new GenericCompositionPlanner by default. Classes can override
|
||||
// this to create different composition planners while using the default logic
|
||||
// to create a DrmDisplayPipeline.
|
||||
virtual std::unique_ptr<CompositionPlanner> CreateCompositionPlanner();
|
||||
|
||||
private:
|
||||
GenericPipelineCreator();
|
||||
static GenericPipelineCreator instance;
|
||||
};
|
||||
|
||||
} // namespace android::drm_hwcomposer
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue