Let the agent check plugin versions to avoid ODR violations

Submitted by Christophe de Dinechin on Nov. 22, 2017, 3:33 p.m.

Details

Reviewer None
Submitted Nov. 22, 2017, 3:33 p.m.
Last Updated Nov. 22, 2017, 3:33 p.m.
Revision 1

Cover Letter(s)

Revision 1
      From: Christophe de Dinechin <dinechin@redhat.com>

This is remotely inspired from the Tao3D module API,
itself inspired by libtool.
(see https://github.com/c3d/tao-3D/blob/master/tao/include/tao/module_api.h#L41
and https://github.com/c3d/tao-3D/blob/master/tao/module_manager.cpp#L1246
for more information)

Christophe de Dinechin (2):
  Implement version checking for plugins without violating ODR
  Add a macro to deal with the boilerplate of writing a streaming agent
    plugin

 include/spice-streaming-agent/plugin.hpp | 56 +++++++++++++++++++-------------
 src/concrete-agent.cpp                   | 35 ++++++++++----------
 src/concrete-agent.hpp                   |  4 ---
 src/mjpeg-fallback.cpp                   |  3 --
 4 files changed, 51 insertions(+), 47 deletions(-)
    

Revisions