summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-08-27 04:41:05 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-09-02 01:16:45 +0300
commit3f662ae3c0c6e6564f1abe09d7d297e34f77b4fb (patch)
tree6fa7a3f6bc35c1b2e723f6c50a25b554c86cf820
parent58720e1dc98186e79ef4e758a851b58df562f7b4 (diff)
libcamera: Don't use emitter object pointer argument to slot
In many cases, the emitter object passed as a pointer from signals to slots is also available as a class member. Use the class member when this occurs, to prepare for removal of the emitter object pointer from signals. In test/event.cpp, this additionally requires moving the EventNotifier to a class member. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
-rw-r--r--src/libcamera/ipc_pipe_unixsocket.cpp4
-rw-r--r--test/event-thread.cpp4
-rw-r--r--test/event.cpp17
-rw-r--r--test/ipa/ipa_interface_test.cpp4
-rw-r--r--test/ipc/unixsocket.cpp8
-rw-r--r--test/ipc/unixsocket_ipc.cpp4
-rw-r--r--utils/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl4
7 files changed, 25 insertions, 20 deletions
diff --git a/src/libcamera/ipc_pipe_unixsocket.cpp b/src/libcamera/ipc_pipe_unixsocket.cpp
index 4511775f..38bcc30a 100644
--- a/src/libcamera/ipc_pipe_unixsocket.cpp
+++ b/src/libcamera/ipc_pipe_unixsocket.cpp
@@ -82,10 +82,10 @@ int IPCPipeUnixSocket::sendAsync(const IPCMessage &data)
return 0;
}
-void IPCPipeUnixSocket::readyRead(IPCUnixSocket *socket)
+void IPCPipeUnixSocket::readyRead([[maybe_unused]] IPCUnixSocket *socket)
{
IPCUnixSocket::Payload payload;
- int ret = socket->receive(&payload);
+ int ret = socket_->receive(&payload);
if (ret) {
LOG(IPCPipe, Error) << "Receive message failed" << ret;
return;
diff --git a/test/event-thread.cpp b/test/event-thread.cpp
index 57526166..12021710 100644
--- a/test/event-thread.cpp
+++ b/test/event-thread.cpp
@@ -66,9 +66,9 @@ public:
}
private:
- void readReady(EventNotifier *notifier)
+ void readReady([[maybe_unused]] EventNotifier *notifier)
{
- size_ = read(notifier->fd(), data_, sizeof(data_));
+ size_ = read(notifier_->fd(), data_, sizeof(data_));
notified_ = true;
}
diff --git a/test/event.cpp b/test/event.cpp
index c2274344..e338335c 100644
--- a/test/event.cpp
+++ b/test/event.cpp
@@ -22,14 +22,16 @@ using namespace libcamera;
class EventTest : public Test
{
protected:
- void readReady(EventNotifier *notifier)
+ void readReady([[maybe_unused]] EventNotifier *notifier)
{
- size_ = read(notifier->fd(), data_, sizeof(data_));
+ size_ = read(notifier_->fd(), data_, sizeof(data_));
notified_ = true;
}
int init()
{
+ notifier_ = nullptr;
+
return pipe(pipefd_);
}
@@ -40,8 +42,8 @@ protected:
Timer timeout;
ssize_t ret;
- EventNotifier readNotifier(pipefd_[0], EventNotifier::Read);
- readNotifier.activated.connect(this, &EventTest::readReady);
+ notifier_ = new EventNotifier(pipefd_[0], EventNotifier::Read);
+ notifier_->activated.connect(this, &EventTest::readReady);
/* Test read notification with data. */
memset(data_, 0, sizeof(data_));
@@ -76,7 +78,7 @@ protected:
/* Test read notifier disabling. */
notified_ = false;
- readNotifier.setEnabled(false);
+ notifier_->setEnabled(false);
ret = write(pipefd_[1], data.data(), data.size());
if (ret < 0) {
@@ -95,7 +97,7 @@ protected:
/* Test read notifier enabling. */
notified_ = false;
- readNotifier.setEnabled(true);
+ notifier_->setEnabled(true);
timeout.start(100);
dispatcher->processEvents();
@@ -111,6 +113,8 @@ protected:
void cleanup()
{
+ delete notifier_;
+
close(pipefd_[0]);
close(pipefd_[1]);
}
@@ -118,6 +122,7 @@ protected:
private:
int pipefd_[2];
+ EventNotifier *notifier_;
bool notified_;
char data_[16];
ssize_t size_;
diff --git a/test/ipa/ipa_interface_test.cpp b/test/ipa/ipa_interface_test.cpp
index ee9f2651..0ee51f71 100644
--- a/test/ipa/ipa_interface_test.cpp
+++ b/test/ipa/ipa_interface_test.cpp
@@ -153,9 +153,9 @@ protected:
}
private:
- void readTrace(EventNotifier *notifier)
+ void readTrace([[maybe_unused]] EventNotifier *notifier)
{
- ssize_t s = read(notifier->fd(), &trace_, sizeof(trace_));
+ ssize_t s = read(notifier_->fd(), &trace_, sizeof(trace_));
if (s < 0) {
int ret = errno;
cerr << "Failed to read from IPA test FIFO at '"
diff --git a/test/ipc/unixsocket.cpp b/test/ipc/unixsocket.cpp
index aa35c8f0..6507fb12 100644
--- a/test/ipc/unixsocket.cpp
+++ b/test/ipc/unixsocket.cpp
@@ -68,12 +68,12 @@ public:
}
private:
- void readyRead(IPCUnixSocket *ipc)
+ void readyRead([[maybe_unused]] IPCUnixSocket *ipc)
{
IPCUnixSocket::Payload message, response;
int ret;
- ret = ipc->receive(&message);
+ ret = ipc_.receive(&message);
if (ret) {
cerr << "Receive message failed: " << ret << endl;
return;
@@ -447,14 +447,14 @@ private:
return 0;
}
- void readyRead(IPCUnixSocket *ipc)
+ void readyRead([[maybe_unused]] IPCUnixSocket *ipc)
{
if (!callResponse_) {
cerr << "Read ready without expecting data, fail." << endl;
return;
}
- if (ipc->receive(callResponse_)) {
+ if (ipc_.receive(callResponse_)) {
cerr << "Receive message failed" << endl;
return;
}
diff --git a/test/ipc/unixsocket_ipc.cpp b/test/ipc/unixsocket_ipc.cpp
index 6fe7fd9b..60317a49 100644
--- a/test/ipc/unixsocket_ipc.cpp
+++ b/test/ipc/unixsocket_ipc.cpp
@@ -65,12 +65,12 @@ public:
}
private:
- void readyRead(IPCUnixSocket *ipc)
+ void readyRead([[maybe_unused]] IPCUnixSocket *ipc)
{
IPCUnixSocket::Payload message;
int ret;
- ret = ipc->receive(&message);
+ ret = ipc_.receive(&message);
if (ret) {
cerr << "Receive message failed: " << ret << endl;
return;
diff --git a/utils/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl b/utils/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl
index 8a88bd46..b4cd1aa9 100644
--- a/utils/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl
+++ b/utils/ipc/generators/libcamera_templates/module_ipa_proxy_worker.cpp.tmpl
@@ -57,10 +57,10 @@ public:
~{{proxy_worker_name}}() {}
- void readyRead(IPCUnixSocket *socket)
+ void readyRead([[maybe_unused]] IPCUnixSocket *socket)
{
IPCUnixSocket::Payload _message;
- int _retRecv = socket->receive(&_message);
+ int _retRecv = socket_.receive(&_message);
if (_retRecv) {
LOG({{proxy_worker_name}}, Error)
<< "Receive message failed: " << _retRecv;