drm_hwcomposer: polish for old DRM wrapper code
- deleted private copy constructors
- replace delete with unique_ptr
- use in-class assignment
- remove default constructors/destructors when no longer needed
- remove most iterators used in for loops
- move UniqueFd to its own header so drmresources can use it
Change-Id: Ib20cc0949cf4d381a58548b8156c5cb368ca3efe
diff --git a/drmcompositor.cpp b/drmcompositor.cpp
index 6b3c294..09da6bf 100644
--- a/drmcompositor.cpp
+++ b/drmcompositor.cpp
@@ -34,9 +34,8 @@
}
int DrmCompositor::Init() {
- for (DrmResources::ConnectorIter iter = drm_->begin_connectors();
- iter != drm_->end_connectors(); ++iter) {
- int display = (*iter)->display();
+ for (auto &conn : drm_->connectors()) {
+ int display = conn->display();
int ret = compositor_map_[display].Init(drm_, display);
if (ret) {
ALOGE("Failed to initialize display compositor for %d", display);
@@ -47,17 +46,14 @@
return 0;
}
-DrmComposition *DrmCompositor::CreateComposition(Importer *importer) {
- DrmComposition *composition = new DrmComposition(drm_, importer);
- if (!composition) {
- ALOGE("Failed to allocate drm composition");
- return NULL;
- }
+std::unique_ptr<DrmComposition> DrmCompositor::CreateComposition(
+ Importer *importer) {
+ std::unique_ptr<DrmComposition> composition(
+ new DrmComposition(drm_, importer));
int ret = composition->Init(++frame_no_);
if (ret) {
ALOGE("Failed to initialize drm composition %d", ret);
- delete composition;
- return NULL;
+ return nullptr;
}
return composition;
}
@@ -74,9 +70,8 @@
if (ret)
return ret;
- for (DrmResources::ConnectorIter iter = drm_->begin_connectors();
- iter != drm_->end_connectors(); ++iter) {
- int display = (*iter)->display();
+ for (auto &conn : drm_->connectors()) {
+ int display = conn->display();
int ret = compositor_map_[display].QueueComposition(
composition->TakeDisplayComposition(display));
if (ret) {
@@ -99,8 +94,7 @@
void DrmCompositor::Dump(std::ostringstream *out) const {
*out << "DrmCompositor stats:\n";
- for (DrmResources::ConnectorIter iter = drm_->begin_connectors();
- iter != drm_->end_connectors(); ++iter)
- compositor_map_[(*iter)->display()].Dump(out);
+ for (auto &conn : drm_->connectors())
+ compositor_map_[conn->display()].Dump(out);
}
}