summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/ikvm_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/ikvm_manager.cpp')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/ikvm_manager.cpp100
1 files changed, 0 insertions, 100 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/ikvm_manager.cpp b/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/ikvm_manager.cpp
deleted file mode 100644
index 5e014d057..000000000
--- a/meta-openbmc-mods/meta-common/recipes-graphics/obmc-ikvm/obmc-ikvm/ikvm_manager.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-#include "ikvm_manager.hpp"
-
-#include <thread>
-
-namespace ikvm
-{
-
-Manager::Manager(const Args& args) :
- continueExecuting(true), serverDone(false), videoDone(true),
- input(args.getKeyboardPath(), args.getPointerPath()),
- video(args.getVideoPath(), input, args.getFrameRate()),
- server(args, input, video)
-{
-}
-
-void Manager::run()
-{
- std::thread run(serverThread, this);
-
- while (continueExecuting)
- {
- if (server.wantsFrame())
- {
- video.getFrame();
- server.sendFrame();
- }
- else
- {
- video.stop();
- }
-
- if (video.needsResize())
- {
- videoDone = false;
- waitServer();
- video.resize();
- server.resize();
- setVideoDone();
- }
- else
- {
- setVideoDone();
- waitServer();
- }
- }
-
- run.join();
-}
-
-void Manager::serverThread(Manager* manager)
-{
- while (manager->continueExecuting)
- {
- manager->server.run();
- manager->setServerDone();
- manager->waitVideo();
- }
-}
-
-void Manager::setServerDone()
-{
- std::unique_lock<std::mutex> ulock(lock);
-
- serverDone = true;
- sync.notify_all();
-}
-
-void Manager::setVideoDone()
-{
- std::unique_lock<std::mutex> ulock(lock);
-
- videoDone = true;
- sync.notify_all();
-}
-
-void Manager::waitServer()
-{
- std::unique_lock<std::mutex> ulock(lock);
-
- while (!serverDone)
- {
- sync.wait(ulock);
- }
-
- serverDone = false;
-}
-
-void Manager::waitVideo()
-{
- std::unique_lock<std::mutex> ulock(lock);
-
- while (!videoDone)
- {
- sync.wait(ulock);
- }
-
- // don't reset videoDone
-}
-
-} // namespace ikvm