Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Types implementing interfaces are handled incorrectly #30

Closed
DefaultRyan opened this issue Nov 25, 2020 · 2 comments
Closed

Types implementing interfaces are handled incorrectly #30

DefaultRyan opened this issue Nov 25, 2020 · 2 comments

Comments

@DefaultRyan
Copy link
Member

Take CFunctionDiscoveryNotificationWrapper. It's defined as a default implementation of IFunctionDiscoveryNotification like so:

class CFunctionDiscoveryNotificationWrapper : public IFunctionDiscoveryNotification
{
  // Implements all 3 of IFunctionDiscoveryNotification methods with a stub, returning S_OK
}

CFunctionDiscoveryNotificationWrapper is appearing in the metadata, but it has two big issues:

  • It provides duplicate definitions of the 3 override methods. Specifically, IFunctionDiscoveryNotification has three methods in addition to IUnknown: OnUpdate, OnError, and OnEvent. CFunctionDiscoveryNotificationWrapper erroneously duplicates these three methods in its own type definition.
  • It is defined as an interface in the metadata. Seems like this should probably be a class. (Or perhaps not in the metadata at all?)
@AArnott
Copy link
Member

AArnott commented Nov 25, 2020

I thought the goal was to remove all code from the metadata dll.

@sotteson1
Copy link
Contributor

Andrew's right, we don't want code in there. I'll exclude this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants