From 71e152a0d61628a472758acce556090c879aa519 Mon Sep 17 00:00:00 2001 From: uvos Date: Fri, 4 Jun 2021 21:20:37 +0200 Subject: [PATCH] avoid leaking any arv.h dependancies --- uvoscam.cpp | 11 +++++++++-- uvoscam.h | 10 ++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/uvoscam.cpp b/uvoscam.cpp index a928785..22a5bc9 100644 --- a/uvoscam.cpp +++ b/uvoscam.cpp @@ -27,6 +27,8 @@ #include"log.h" +#include + using namespace cam; cv::Mat Camera::debayer(ArvBuffer *buffer) @@ -126,7 +128,12 @@ void Camera::decoderThreadFunc() } } -void Camera::aCallback(void* instance, ArvStreamCallbackType type, ArvBuffer *buffer) +static void aFCallback(void* instance, ArvStreamCallbackType type, ArvBuffer *buffer) +{ + Camera::aCallback(instance, static_cast(type), buffer); +} + +void Camera::aCallback(void* instance, int type, ArvBuffer *buffer) { Camera* instance_ = reinterpret_cast(instance); if(type == ARV_STREAM_CALLBACK_TYPE_BUFFER_DONE) @@ -250,7 +257,7 @@ bool Camera::setupCamera() Log(Log::DEBUG)<<"Using "< #include #include -#include + +typedef struct _ArvStream ArvStream; +typedef struct _ArvBuffer ArvBuffer; +typedef struct _ArvCamera ArvCamera; namespace cam { @@ -64,7 +67,6 @@ public: private: ArvStream* aStream_ = nullptr; ArvCamera* aCamera_ = nullptr; - ArvInterface interface; unsigned int width_; unsigned int height_; @@ -86,8 +88,6 @@ private: AquisitionMode aqmode = MODE_FREE; - static void aCallback(void* instance, ArvStreamCallbackType type, ArvBuffer *buffer); - void decoderThreadFunc(); std::function callback_; @@ -124,6 +124,8 @@ public: Camera::BayerMode getBayerMode(); void setTriggerMode(Camera::TriggerMode mode); void trigger(); + + static void aCallback(void* instance, int type, ArvBuffer *buffer); }; }