30 lines
576 B
C++
30 lines
576 B
C++
#include <cameraSession.h>
|
|
#include <stdexcept>
|
|
|
|
namespace lcamera_dev {
|
|
|
|
CameraSession::CameraSession(
|
|
const CameraIdentityRecord& identity,
|
|
const std::shared_ptr<libcamera::Camera>& camera)
|
|
: s("lcameraDev::CameraSession", CameraSessionResources{identity, camera})
|
|
{}
|
|
|
|
void CameraSession::incrementRefcount()
|
|
{
|
|
++s.rsrc.refcount;
|
|
}
|
|
|
|
bool CameraSession::decrementRefcount()
|
|
{
|
|
if (s.rsrc.refcount <= 0)
|
|
{
|
|
throw std::logic_error(
|
|
"lcameraDev: releaseDeviceCReq refcount underflow");
|
|
}
|
|
|
|
--s.rsrc.refcount;
|
|
return s.rsrc.refcount == 0;
|
|
}
|
|
|
|
} // namespace lcamera_dev
|