summaryrefslogtreecommitdiff
path: root/test/camera/capture.cpp
AgeCommit message (Expand)Author
2022-03-25libcamera: base: timer: Drop start() overload with int argumentLaurent Pinchart
2021-11-29test: camera: Fix trivial spelling mistakeJacopo Mondi
2021-10-15test: Remove using namespace in header filesHirokazu Honda
2021-06-25libcamera/base: Move extended base functionalityKieran Bingham
2021-02-04test: buffer-import: Fix false-positive failureKieran Bingham
2020-11-15libcamera: Move EventDispatcher to internal APILaurent Pinchart
2020-11-15test: Get event dispatcher from current threadLaurent Pinchart
2020-10-20test: Omit extra semicolonsHirokazu Honda
2020-10-12libcamera, android, cam, gstreamer, qcam, v4l2: Reuse RequestPaul Elder
2020-09-21test: Include specific headers instead of libcamera.hLaurent Pinchart
2020-08-25meson: Remove -Wno-unused-parameterLaurent Pinchart
2020-08-14libcamera: request: Make Stream pointer constNiklas Söderlund
2020-08-14libcamera: request: Declare a using directive for map of buffersNiklas Söderlund
2020-08-05libcamera: pipelines: Use sensor ID as camera nameNiklas Söderlund
2020-03-18libcamera: framebuffer_allocator: Lift camera restrictions on allocatorLaurent Pinchart
2020-01-12libcamera: camera: Remove the prepared stateNiklas Söderlund
2020-01-12libcamera: Switch to FrameBuffer interfaceNiklas Söderlund
2020-01-12libcamera: buffer: Move captured metadata to FrameMetadataNiklas Söderlund
2020-01-12libcamera: request: In addBuffer() do not fetch stream from BufferNiklas Söderlund
2019-11-20test: Extract CameraTest class out of camera tests to libtestLaurent Pinchart
2019-11-19libcamera: camera: Remove explicit stream to buffer map in requestCompleted s...Niklas Söderlund
2019-08-19test: camera: Use the CameraManager from the CameraTest base classLaurent Pinchart
2019-07-14libcamera: Stop using Stream::bufferPool to get the number of buffersLaurent Pinchart
2019-07-14libcamera: buffer: Split memory information to BufferMemoryLaurent Pinchart
2019-06-11test: camera: Increase runtime for capture testNiklas Söderlund
2019-06-10test: camera: Fix initialisationKieran Bingham
2019-05-23libcamera: camera: Add a validation API to the CameraConfiguration classLaurent Pinchart
2019-05-23libcamera: camera: Return a pointer from generateConfiguration()Laurent Pinchart
2019-05-23libcamera: Refactor the camera configuration storage and APILaurent Pinchart
2019-05-23libcamera: Use stream roles directly instead of StreamUsageLaurent Pinchart
2019-05-23libcamera: camera: Rename configureStreams() and streamConfiguration()Laurent Pinchart
2019-04-30test: Unify naming of configurations in testsLaurent Pinchart
2019-04-09libcamera: Switch to CameraConfigurationNiklas Söderlund
2019-04-05libcamera: camera: Add support for stream usagesNiklas Söderlund
2019-04-04test: camera: Remove streams argument from configurationValid()Niklas Söderlund
2019-03-14test: camera: Add capture testNiklas Söderlund
/span>Args...), ConnectionType type = ConnectionTypeAuto) { Object *object = static_cast<Object *>(obj); SignalBase::connect(new BoundMethodMember<T, R, Args...>(obj, object, func, type)); } template<typename T, typename R, typename std::enable_if_t<!std::is_base_of<Object, T>::value> * = nullptr> #else template<typename T, typename R> #endif void connect(T *obj, R (T::*func)(Args...)) { SignalBase::connect(new BoundMethodMember<T, R, Args...>(obj, nullptr, func)); } template<typename R> void connect(R (*func)(Args...)) { SignalBase::connect(new BoundMethodStatic<R, Args...>(func)); } void disconnect() { SignalBase::disconnect([]([[maybe_unused]] SlotList::iterator &iter) { return true; }); } template<typename T> void disconnect(T *obj) { SignalBase::disconnect([obj](SlotList::iterator &iter) { return (*iter)->match(obj); }); } template<typename T, typename R> void disconnect(T *obj, R (T::*func)(Args...)) { SignalBase::disconnect([obj, func](SlotList::iterator &iter) { BoundMethodArgs<R, Args...> *slot = static_cast<BoundMethodArgs<R, Args...> *>(*iter); if (!slot->match(obj)) return false; /* * If the object matches the slot, the slot is * guaranteed to be a member slot, so we can safely * cast it to BoundMethodMember<T, Args...> to match * func. */ return static_cast<BoundMethodMember<T, R, Args...> *>(slot)->match(func); }); } template<typename R> void disconnect(R (*func)(Args...)) { SignalBase::disconnect([func](SlotList::iterator &iter) { BoundMethodArgs<R, Args...> *slot = static_cast<BoundMethodArgs<R, Args...> *>(*iter); if (!slot->match(nullptr)) return false; return static_cast<BoundMethodStatic<R, Args...> *>(slot)->match(func); }); } void emit(Args... args) { /* * Make a copy of the slots list as the slot could call the * disconnect operation, invalidating the iterator. */ for (BoundMethodBase *slot : slots()) static_cast<BoundMethodArgs<void, Args...> *>(slot)->activate(args...); } }; } /* namespace libcamera */ #endif /* __LIBCAMERA_SIGNAL_H__ */