Wow there is a lot of code there. I spent some time looking at it and my first guess is that this uses the libgphoto2 and makes direct calls to the library. I have been using the command line gphoto2 with the following command:
So I don't actually know what the wait-event waits for but after the command is issued nothing happens for several seconds and then the shutter clicks. The code you direct me to seems to be in the area where INDI waits for the image to download. On photo if you don't wait long enough nothing happens in the camera. You don't actually capture a photo. So it isn't like a failure to wait for the download to finish.
I also discovered that gphoto2 supposedly can control the focus so maybe I could write some code to add that to INDI so sunny camera users could use the EKOS focus feature. That might be a bridge quite far but maybe not too far.
I get the following output
'Loading camera drivers from '/usr/l... | \ 0.0%
Loading camera drivers from '/usr/l... |- | 5.0%
Loading camera drivers from '/usr/l... |-- / 10.0%
Loading camera drivers from '/usr/l... |--- - 15.0%
Loading camera drivers from '/usr/l... |---- \ 20.0%
Loading camera drivers from '/usr/l... |
| 25.0%
Loading camera drivers from '/usr/l... |
/ 30.0%
Loading camera drivers from '/usr/l... |
- 35.0%
Loading camera drivers from '/usr/l... |
\ 40.0%
Loading camera drivers from '/usr/l... |
| 45.0%
Loading camera drivers from '/usr/l... |
/ 50.0%
Loading camera drivers from '/usr/l... |
- 55.0%
Loading camera drivers from '/usr/l... |
\ 60.0%
Loading camera drivers from '/usr/l... |
| 65.0%
Loading camera drivers from '/usr/l... |
/ 70.0%
Loading camera drivers from '/usr/l... |
- 75.0%
Loading camera drivers from '/usr/l... |
\ 80.0%
Loading camera drivers from '/usr/l... |
| 85.0%
Loading camera drivers from '/usr/l... |
/ 90.0%
Loading camera drivers from '/usr/l... |
- 95.0%