gecko-dev/ipc/mscom
Ray Kraesig 50c943690c Bug 1869053 - [5/5] templatize and further simplify AgileReference r=handyman,win-reviewers
Lift `aIid` to compile-time, as a template parameter `InterfaceT`. This
simplifies the common case for using `Resolve()`, where the desired and
supplied interfaces are the same. (For the as-yet-unattested case where
they're not, retain the old functionality by means of a small family of
`ResolveAs()` functions.)

Additionally, to eliminate a swath of custom logic and magic-number
choices surrounding `mHResult`, eliminate `mHResult` itself as well.
Instead, since its value was derived from the creation of the underlying
`IAgileReference`, any callers that might care can acquire it as an
additional return value from a named-constructor function.

These collectively trim `AgileReference`'s footprint down to a single
`RefPtr`, with all its special member functions having only default
implementations.

Differential Revision: https://phabricator.services.mozilla.com/D196513
2023-12-21 19:46:55 +00:00
..
mozglue
Aggregation.h
AgileReference.cpp Bug 1869053 - [5/5] templatize and further simplify AgileReference r=handyman,win-reviewers 2023-12-21 19:46:55 +00:00
AgileReference.h Bug 1869053 - [5/5] templatize and further simplify AgileReference r=handyman,win-reviewers 2023-12-21 19:46:55 +00:00
ApartmentRegion.h
COMWrappers.cpp
COMWrappers.h
EnsureMTA.cpp Bug 1869053 - [4/5] remove EnsureMTA::CreateInstance r=handyman 2023-12-21 19:46:55 +00:00
EnsureMTA.h Bug 1869053 - [4/5] remove EnsureMTA::CreateInstance r=handyman 2023-12-21 19:46:55 +00:00
moz.build
ProcessRuntime.cpp
ProcessRuntime.h
ProfilerMarkers.cpp
ProfilerMarkers.h
Utils.cpp Bug 1869053 - [4/5] remove EnsureMTA::CreateInstance r=handyman 2023-12-21 19:46:55 +00:00
Utils.h Bug 1869053 - [4/5] remove EnsureMTA::CreateInstance r=handyman 2023-12-21 19:46:55 +00:00