Skip to content

Feature: In-process support #1

@KristofferStrube

Description

@KristofferStrube

We would eventually like to support in-process variants of all the interactive classes in this wrapper, but right now we have some general structure that would need to change to make this easier.

The start of this process can be seen in the branch: https://github.com/KristofferStrube/Blazor.MediaCaptureStreams/tree/feature/in-process-classes

The primary problem is when we want a class to be an extension of multiple classes. An example could be MediaStreamTrackInProcess, the in-process variant of MediaStreamTrack. We would like to have this be an extension of MediaStreamTrack and EventTargetInProcess but we can't do this. A way to come around this is using ✨interfaces✨. We have tried to start this by making an interface for EventTargetInProcess called IEventTargetInProcess. The problem with this is that we then have to implement all the methods from that interface still. What we would really like is multiple inheritances of implementations similar to interface mixins from the WebIDL standard. What we have tried to mitigate how much code we need to duplicate is to have the implementations be in separate static methods that can be used in all implementations of the IEventTargetInProcess interface. But that doesn't really solve the problem itself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions