-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Enable ComWrappers API for cross-platform #54838
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
Merged
AaronRobinsonMSFT
merged 23 commits into
dotnet:main
from
b-iotti:enable-comwrappers-on-linux
Jul 29, 2021
Merged
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
21e691b
Product changes to enable comwrappers on linux
480622c
Some enhancement (ArraySize, Stowed exception exclusion, etc.)
d6dcd0e
Further enhancements + gcenv.ee.cpp change for build failures
703a59c
Array size definition moved below windows.h
550ae66
MockReferenceTrackerRuntime test project changes for Linux
f3cf786
Use FALLTHROUGH macro in place of [[fallthrough]]
d0b90ec
WeakReference test project changes for Linux
3b5ed87
Moved back comhelpers.h code from xplatform.h
ebc4fd2
OBJC_TEST logic to avoid OSX errors
c0a8dae
Fix for GCC pipeline errors
54c4ef0
Merge remote-tracking branch 'upstream/main' into enable-comwrappers-…
4d4761e
Arraysize result comparison error
e07ee91
Fix IID_IReferenceTracker GUID typo
dad8d0d
QueryInterface implementation and other minor changes
f09372b
UnknowImpl fix to remove WIN32 constructor cases
371d6a2
UnknownImpl error fix
ce9806c
Included ComWrappers Managed tests
85db0ed
Excluded Unix ComWrappers test for Mono
2d93161
Disabled comwrappers test for mono + other code enhancements
bff18a9
Enable interop info sync block cleanup under FEATURE_COMWRAPPERS
elinor-fung 52587fc
Fix local instance ComWrappers WeakReference tests
elinor-fung 22ed7de
Enable NativeComWeakHandleInfo under FEATURE_COMWRAPPERS
elinor-fung ac12e83
weakreferencenative.cpp and ComHelpers.h code enhancements
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
| // | ||
|
|
||
| // | ||
| // =========================================================================== | ||
| // File: weakreference.h | ||
| // | ||
| // =========================================================================== | ||
| // simplified weakreference.h for PAL | ||
|
|
||
| #include "rpc.h" | ||
| #include "rpcndr.h" | ||
|
|
||
| #include "unknwn.h" | ||
|
|
||
| #ifndef __IInspectable_INTERFACE_DEFINED__ | ||
| #define __IInspectable_INTERFACE_DEFINED__ | ||
|
|
||
| typedef struct HSTRING__{ | ||
| int unused; | ||
| } HSTRING__; | ||
|
|
||
| typedef HSTRING__* HSTRING; | ||
|
|
||
| typedef /* [v1_enum] */ | ||
| enum TrustLevel | ||
| { | ||
| BaseTrust = 0, | ||
| PartialTrust = ( BaseTrust + 1 ) , | ||
| FullTrust = ( PartialTrust + 1 ) | ||
| } TrustLevel; | ||
|
|
||
| // AF86E2E0-B12D-4c6a-9C5A-D7AA65101E90 | ||
| const IID IID_IInspectable = { 0xaf86e2e0, 0xb12d, 0x4c6a, { 0x9c, 0x5a, 0xd7, 0xaa, 0x65, 0x10, 0x1e, 0x90} }; | ||
|
|
||
| MIDL_INTERFACE("AF86E2E0-B12D-4c6a-9C5A-D7AA65101E90") | ||
| IInspectable : public IUnknown | ||
| { | ||
| public: | ||
| virtual HRESULT STDMETHODCALLTYPE GetIids( | ||
| /* [out] */ ULONG * iidCount, | ||
| /* [size_is][size_is][out] */ IID * *iids) = 0; | ||
|
|
||
| virtual HRESULT STDMETHODCALLTYPE GetRuntimeClassName( | ||
| /* [out] */ HSTRING * className) = 0; | ||
|
|
||
| virtual HRESULT STDMETHODCALLTYPE GetTrustLevel( | ||
| /* [out] */ TrustLevel * trustLevel) = 0; | ||
| }; | ||
| #endif // __IInspectable_INTERFACE_DEFINED__ | ||
|
|
||
| #ifndef __IWeakReference_INTERFACE_DEFINED__ | ||
| #define __IWeakReference_INTERFACE_DEFINED__ | ||
|
|
||
| // 00000037-0000-0000-C000-000000000046 | ||
| const IID IID_IWeakReference = { 0x00000037, 0x0000, 0x0000, { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} }; | ||
|
|
||
| MIDL_INTERFACE("00000037-0000-0000-C000-000000000046") | ||
| IWeakReference : public IUnknown | ||
| { | ||
| public: | ||
| virtual HRESULT STDMETHODCALLTYPE Resolve( | ||
| /* [in] */ REFIID riid, | ||
| /* [iid_is][out] */ IInspectable **objectReference) = 0; | ||
|
|
||
| }; | ||
|
|
||
| #endif // __IWeakReference_INTERFACE_DEFINED__ | ||
|
|
||
| #ifndef __IWeakReferenceSource_INTERFACE_DEFINED__ | ||
| #define __IWeakReferenceSource_INTERFACE_DEFINED__ | ||
|
|
||
| // 00000038-0000-0000-C000-000000000046 | ||
| const IID IID_IWeakReferenceSource = { 0x00000038, 0x0000, 0x0000, { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} }; | ||
|
|
||
| MIDL_INTERFACE("00000038-0000-0000-C000-000000000046") | ||
| IWeakReferenceSource : public IUnknown | ||
| { | ||
| public: | ||
| virtual HRESULT STDMETHODCALLTYPE GetWeakReference( | ||
| /* [retval][out] */ IWeakReference * *weakReference) = 0; | ||
| }; | ||
|
|
||
| #endif // __IWeakReferenceSource_INTERFACE_DEFINED__ |
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.