summaryrefslogtreecommitdiff
path: root/include/libcamera/internal/thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/libcamera/internal/thread.h')
-rw-r--r--include/libcamera/internal/thread.h78
1 files changed, 0 insertions, 78 deletions
diff --git a/include/libcamera/internal/thread.h b/include/libcamera/internal/thread.h
deleted file mode 100644
index 9662e28b..00000000
--- a/include/libcamera/internal/thread.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-or-later */
-/*
- * Copyright (C) 2019, Google Inc.
- *
- * thread.h - Thread support
- */
-#ifndef __LIBCAMERA_INTERNAL_THREAD_H__
-#define __LIBCAMERA_INTERNAL_THREAD_H__
-
-#include <memory>
-#include <mutex>
-#include <sys/types.h>
-#include <thread>
-
-#include <libcamera/signal.h>
-
-#include <libcamera/base/utils.h>
-
-#include "libcamera/internal/message.h"
-
-namespace libcamera {
-
-class EventDispatcher;
-class Message;
-class Object;
-class ThreadData;
-class ThreadMain;
-
-using Mutex = std::mutex;
-using MutexLocker = std::unique_lock<std::mutex>;
-
-class Thread
-{
-public:
- Thread();
- virtual ~Thread();
-
- void start();
- void exit(int code = 0);
- bool wait(utils::duration duration = utils::duration::max());
-
- bool isRunning();
-
- Signal<Thread *> finished;
-
- static Thread *current();
- static pid_t currentId();
-
- EventDispatcher *eventDispatcher();
-
- void dispatchMessages(Message::Type type = Message::Type::None);
-
-protected:
- int exec();
- virtual void run();
-
-private:
- void startThread();
- void finishThread();
-
- void postMessage(std::unique_ptr<Message> msg, Object *receiver);
- void removeMessages(Object *receiver);
-
- friend class Object;
- friend class ThreadData;
- friend class ThreadMain;
-
- void moveObject(Object *object);
- void moveObject(Object *object, ThreadData *currentData,
- ThreadData *targetData);
-
- std::thread thread_;
- ThreadData *data_;
-};
-
-} /* namespace libcamera */
-
-#endif /* __LIBCAMERA_INTERNAL_THREAD_H__ */