Allow specifying STDMETHODCALLTYPE to Mock methods #337
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds new
IMPLEMENT_STDMETHOD_MOCKn
andMAKE_STDMETHOD_MOCKn
to allow to mock COM interfaces declared usingSTDMETHOD(name)
i.e.virtual HRESULT __stdcall name (...).
As .idl/.tlb do not support cvref-qualified methods, so there's no need for all the permutations of
STDMETHODCALLTYPE
vs const/volatile/rvalue/etc.The new macros are implemented by extending
TROMPELOEIL_MAKE_MOCK_
to take a calling convention and placing it in the correct location allowed by the microsoft compiler. This also means that the new macros only work on Windows.It also add tests and documentation for the new macros.
Closes #329