summaryrefslogtreecommitdiff
path: root/Documentation/index.rst
AgeCommit message (Expand)Author
2023-09-27Documentation: Introduce Camera Sensor ModelJacopo Mondi
2022-06-08Documentation: Add python-bindings.rstTomi Valkeinen
2021-12-03libcamera: camera_lens: Add a new class to model a camera lensHan-Lin Chen
2021-05-13Documentation: Add IPA writers guidePaul Elder
2021-04-03Documentation: Add getting started sectionLaurent Pinchart
2021-01-18libcamera: Document sensor driver requirementsJacopo Mondi
2020-12-27Documentation: Add descriptions for environment variablesSebastian Fricke
2020-11-03Documentation: tracing: Add tracing guidePaul Elder
2020-08-20Documentation: Guides: Pipeline Handler Writer's GuideChris Chinchilla
2020-08-20Documentation: Guides: Application Writer's GuideChris Chinchilla
2020-08-20Documentation: Guides: Developer's Guide to libcameraChris Chinchilla
2020-04-15licenses: Add SPDX headers to RST documentationLaurent Pinchart
2019-10-23Documentation: Hide the Getting Started informationLaurent Pinchart
2019-10-23Documentation: Set the index TOC max depth to 1Laurent Pinchart
2019-10-23Documentation: Link to API section in DocsLaurent Pinchart
2019-10-23Documentation: Move coding style under contributingLaurent Pinchart
2019-08-16readme: Move index page content to READMEKieran Bingham
2019-01-11Documentation: Add placeholder for Doxygen-generated API documentationLaurent Pinchart
2019-01-11Documentation: Link to the API documentation generated by DoxygenLaurent Pinchart
2019-01-11Documentation: Make the toctree more web-friendlyLaurent Pinchart
2018-12-14Documentation: Add architecture documentationLaurent Pinchart
2018-12-13Documentation: Add coding style documentJacopo Mondi
2018-11-28Documentation: Introduce sphinx documentationKieran Bingham
[1]); } int notify() { std::string data("H2G2"); ssize_t ret; memset(data_, 0, sizeof(data_)); size_ = 0; ret = write(pipefd_[1], data.data(), data.size()); if (ret < 0) { cout << "Pipe write failed" << endl; return TestFail; } return TestPass; } bool notified() const { return notified_; } private: void readReady() { size_ = read(notifier_->fd(), data_, sizeof(data_)); notified_ = true; } EventNotifier *notifier_; int pipefd_[2]; bool notified_; char data_[16]; ssize_t size_; }; class EventThreadTest : public Test { protected: int run() { Thread thread; thread.start(); /* * Fire the event notifier and then move the notifier to a * different thread. The notifier will not notice the event * immediately as there is no event dispatcher loop running in * the main thread. This tests that a notifier being moved to a * different thread will correctly process already pending * events in the new thread. */ EventHandler handler; handler.notify(); handler.moveToThread(&thread); this_thread::sleep_for(chrono::milliseconds(100)); /* Must stop thread before destroying the handler. */ thread.exit(0); thread.wait(); if (!handler.notified()) { cout << "Thread event handling test failed" << endl; return TestFail; } return TestPass; } }; TEST_REGISTER(EventThreadTest)