surfaceflinger: manage RenderEngine with unique_ptr
Test: SurfaceFlinger_test
Change-Id: I603a399b88963acdcd154f721fe64bf59d9032fd
diff --git a/services/surfaceflinger/RenderEngine/RenderEngine.h b/services/surfaceflinger/RenderEngine/RenderEngine.h
index 7e05cec..f8e8aaa 100644
--- a/services/surfaceflinger/RenderEngine/RenderEngine.h
+++ b/services/surfaceflinger/RenderEngine/RenderEngine.h
@@ -18,6 +18,8 @@
#ifndef SF_RENDERENGINE_H_
#define SF_RENDERENGINE_H_
+#include <memory>
+
#include <stdint.h>
#include <sys/types.h>
@@ -57,13 +59,15 @@
protected:
RenderEngine();
- virtual ~RenderEngine() = 0;
public:
+ virtual ~RenderEngine() = 0;
+
enum FeatureFlag {
WIDE_COLOR_SUPPORT = 1 << 0 // Platform has a wide color display
};
- static RenderEngine* create(EGLDisplay display, int hwcFormat, uint32_t featureFlags);
+ static std::unique_ptr<RenderEngine> create(EGLDisplay display,
+ int hwcFormat, uint32_t featureFlags);
static EGLConfig chooseEglConfig(EGLDisplay display, int format, bool logConfig);