From fd3599acc5f177d0520825626b0392727be3e167 Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Wed, 18 Nov 2015 14:32:56 -0800 Subject: [PATCH] PR comments --- libraries/recording/src/recording/Frame.cpp | 14 ++++++++++++++ libraries/recording/src/recording/Frame.h | 2 ++ 2 files changed, 16 insertions(+) diff --git a/libraries/recording/src/recording/Frame.cpp b/libraries/recording/src/recording/Frame.cpp index 2e8a9379ef..7f6f6247d9 100644 --- a/libraries/recording/src/recording/Frame.cpp +++ b/libraries/recording/src/recording/Frame.cpp @@ -136,6 +136,20 @@ Frame::Handler Frame::registerFrameHandler(const QString& frameTypeName, Handler return registerFrameHandler(frameType, handler); } +void Frame::clearFrameHandler(FrameType type) { + Locker lock(mutex); + auto iterator = handlerMap.find(type); + if (iterator != handlerMap.end()) { + handlerMap.erase(iterator); + } +} + +void Frame::clearFrameHandler(const QString& frameTypeName) { + auto frameType = registerFrameType(frameTypeName); + clearFrameHandler(frameType); +} + + void Frame::handleFrame(const Frame::ConstPointer& frame) { Handler handler; { diff --git a/libraries/recording/src/recording/Frame.h b/libraries/recording/src/recording/Frame.h index b5f11737bb..6c407063e3 100644 --- a/libraries/recording/src/recording/Frame.h +++ b/libraries/recording/src/recording/Frame.h @@ -57,6 +57,8 @@ public: static FrameType registerFrameType(const QString& frameTypeName); static Handler registerFrameHandler(FrameType type, Handler handler); static Handler registerFrameHandler(const QString& frameTypeName, Handler handler); + static void clearFrameHandler(FrameType type); + static void clearFrameHandler(const QString& frameTypeName); static QMap getFrameTypes(); static QMap getFrameTypeNames(); static void handleFrame(const ConstPointer& frame);