libcamera: request: Make controls_ a class instance
The controls_ member variable is a pointer, for no specific reason. Make it an instance and simplify the class constructor and destructor. Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
This commit is contained in:
@@ -49,7 +49,7 @@ public:
|
||||
|
||||
void reuse(ReuseFlag flags = Default);
|
||||
|
||||
ControlList &controls() { return *controls_; }
|
||||
ControlList &controls() { return controls_; }
|
||||
const ControlList &metadata() const;
|
||||
const BufferMap &buffers() const { return bufferMap_; }
|
||||
int addBuffer(const Stream *stream, FrameBuffer *buffer,
|
||||
@@ -67,7 +67,7 @@ public:
|
||||
private:
|
||||
LIBCAMERA_DISABLE_COPY(Request)
|
||||
|
||||
ControlList *controls_;
|
||||
ControlList controls_;
|
||||
BufferMap bufferMap_;
|
||||
|
||||
const uint64_t cookie_;
|
||||
|
||||
@@ -362,11 +362,9 @@ void Request::Private::timeout()
|
||||
*/
|
||||
Request::Request(Camera *camera, uint64_t cookie)
|
||||
: Extensible(std::make_unique<Private>(camera)),
|
||||
controls_(camera->controls(), camera->_d()->validator()),
|
||||
cookie_(cookie), status_(RequestPending)
|
||||
{
|
||||
controls_ = new ControlList(camera->controls(),
|
||||
camera->_d()->validator());
|
||||
|
||||
LIBCAMERA_TRACEPOINT(request_construct, this);
|
||||
|
||||
LOG(Request, Debug) << "Created request - cookie: " << cookie_;
|
||||
@@ -375,7 +373,6 @@ Request::Request(Camera *camera, uint64_t cookie)
|
||||
Request::~Request()
|
||||
{
|
||||
LIBCAMERA_TRACEPOINT(request_destroy, this);
|
||||
delete controls_;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -406,7 +403,7 @@ void Request::reuse(ReuseFlag flags)
|
||||
|
||||
status_ = RequestPending;
|
||||
|
||||
controls_->clear();
|
||||
controls_.clear();
|
||||
_d()->metadata_.clear();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user