Two Lib Monte
The daemon client library exports the same interface as openhpi, it should be a run time switch to use one or the other.
Coexisting of Libraries
For 2 lib monte to work we need libraries to be in seperate locations. The proposal for this would be a library tree install that looks like:
/usr/lib/openhpi/ - place for plugins
/usr/lib/openhpi/standard/ - place for normal library
/usr/lib/openhpi/client/ - place for client library
/usr/lib/libopenhpi.so - symlink to /usr/lib/openhpi/standard/libopenhpi.so
or /usr/lib/openhpi/client/libopenhpi.so
/usr/bin/openhpi-switcher - tool to manage which is the default library
The Daemon looping issue
If libopenhpi.so points is the client library, and not the real library, the openhpi daemon could get itself into an aweful loop. One way around this would be to have an addition function in libopenhpi.so which is:
uint64 oh_version();
This would return the version as 4 16bit integers: MAJOR, MINOR, PATCH, TYPE. Type could be used to determine if it was the core library or the client library. If it was the client library the daemon would exit with an appropriate error.
