AnsweredAssumed Answered

IVI: Are code fixes propagated to "older" interfaces?

Question asked by inf_persistence on Oct 12, 2015
I'm having issues understanding the IVI spec, so I hope someone here can help enlighten me.  Consider the following generalized scenario:


- Channel
-- Enable     

Version2 (Added new command "Configure".  Fixed logic in "Enable")
- Channel2
-- Enable
-- Configure

In Version2, the "Enable" code was corrected.  If I upgraded the driver but continue to use Version1's Enable, will I get the bug fix?  In other words, Is Channel.Enable running the exact same code (not duplicate, but actually running the same code) as Channel2.Enable?  Or do I have to upgrade my code to use Channel2?


Secondly, say for example IviScope defines the Enable but not Configure:

   - Channel
      -- Enable

Is VendorXScopeDriver::Channel::Enable running the exact code as IviScope::Channel::Enable?  Or is it wrapping one another?   If wrapping is the case, who wraps/maps to who?

From the IO Monitor log, I see that both the IviScope and VendorXScopeDriver version of the function is called, so it seems like the gist is implemented in VendorXScopeDriver, and IviScope simple calls the VendorXScopeDriver's version.  Is my understanding of how IVI works correct?