summaryrefslogtreecommitdiff
path: root/include/libcamera/object.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/libcamera/object.h')
-rw-r--r--include/libcamera/object.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/libcamera/object.h b/include/libcamera/object.h
index eadd41f9..d61dfb1e 100644
--- a/include/libcamera/object.h
+++ b/include/libcamera/object.h
@@ -8,26 +8,39 @@
#define __LIBCAMERA_OBJECT_H__
#include <list>
+#include <memory>
namespace libcamera {
+class Message;
class SignalBase;
template<typename... Args>
class Signal;
+class Thread;
class Object
{
public:
+ Object();
virtual ~Object();
+ void postMessage(std::unique_ptr<Message> msg);
+ virtual void message(Message *msg);
+
+ Thread *thread() const { return thread_; }
+ void moveToThread(Thread *thread);
+
private:
template<typename... Args>
friend class Signal;
+ friend class Thread;
void connect(SignalBase *signal);
void disconnect(SignalBase *signal);
+ Thread *thread_;
std::list<SignalBase *> signals_;
+ unsigned int pendingMessages_;
};
}; /* namespace libcamera */