diff --git a/uvoscam.cpp b/uvoscam.cpp index 22a5bc9..007a338 100644 --- a/uvoscam.cpp +++ b/uvoscam.cpp @@ -458,3 +458,20 @@ void Camera::trigger() { arv_camera_software_trigger(aCamera_, nullptr); } + +Camera::Description Camera::getDescription() +{ + Description desc; + if(ARV_IS_CAMERA(aCamera_)) + { + GError* error; + desc.vendor = arv_camera_get_vendor_name(aCamera_, &error); + desc.serial = arv_camera_get_device_serial_number(aCamera_, &error); + desc.id = arv_camera_get_device_id(aCamera_, &error); + desc.model= arv_camera_get_model_name(aCamera_, &error); + if(!error) + return desc; + else return Description(); + } + return desc; +} diff --git a/uvoscam.h b/uvoscam.h index 3d9abd4..00c05b3 100644 --- a/uvoscam.h +++ b/uvoscam.h @@ -124,6 +124,7 @@ public: Camera::BayerMode getBayerMode(); void setTriggerMode(Camera::TriggerMode mode); void trigger(); + Camera::Description getDescription(); static void aCallback(void* instance, int type, ArvBuffer *buffer); };