* Adding a presetHome method
The Dahua protocol does not appear to support a preset Home feature. We could
allow the user to assign a preset slot as the "home" slot. Dahua does appear
to support naming presets which may lend itself to this sort of thing. At
this point, we'll just send the camera back to center and zoom wide. (0°,0°,0)
* Adjusting naming of private methods and adding POD
* Adding relative focus methods
This patch also adds the return value of the get request used to
send the command to the camera.
Furthermore, it fixes a small bug in the authentication of requests
sent to the camera after the connection is opened. I really have no
idea why the problem occurred and it appeared to have no practical
effect on the execution of the command. It showed up when I enabled
debug, so this attempts to fix it or at least quiet it.
* Adding POD for the new relative focus methods
Also doing a bit of cleanup on POD in general.
* Adding some documentation to demystify control motion types
This was not clear to me at the outset, and I could not locate existing
documentation which explained the prioritization and exclusion aspects.
Maybe it will help someone else.
* Renaming private methods and adding more POD
This patch renames private methods by prefixing an underscore to
them. This at least helps visually distinguish them as private
when reading through the code.
It also adds more documentation on public methods.
* Grouping all relative motion methods together
This makes for easier reading.
* Adding in a reset method from Issue #2414
This method was supplied by kobold81 who got it from
bobylapointe69300 who posted it in the following forum post:
https://forums.zoneminder.com/viewtopic.php?f=9&t=27000&p=104601&hilit=dahua#p104601
This patch also includes some POD cleanup.
* Adding continuous movement methods and fixing reset
This patch adds the continuous movement methods provided in the patch
for Issue #2414. Note that these are not truly continuous as they
result in movement for less than a ms. Adapting the code to support
truly continuous movement would invovle some considerable work.
This patch also correct the reset method and adds a reboot method.
The two are different creatures with different effects.
POD added as well.
* Removing redundant get request code
Two slightly different versions of code are currently used to post
the get request to the camera in order to execute commands. This
patch modifies the open method in order to allow its re-use and
removes redundant code.
Note: This is the first installment on changes towards improving
the way the HTTP transactions are handled.
* Making authenication failures fatal
Authentication failures result in camera commands not being executed.
They may as well be fatal and return the general reason to the user
directly.
* Work on persistent sessions
I think this will have to wait since it appears that the camera expects
some sort of keepalive/heartbeat signal to keep the session open.
* Restoring accidentally deleted code