-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
CalcManager Packaging #1545
Labels
Comments
This is your friendly Microsoft Issue Bot. I've seen this issue come in and have gone to tell a human about it. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
CalcManager Packaging
Problem Statement
Currently, CalcManager/CalcEngine is implemented in C++ as part of Calculator. Some teams may want to reuse it as an independent library package. Besides, if we want to convert Calculator App to C#, we need to wrap the CalcEngine in C#.
Evidence or User Insights
Potential Consumers
Proposal
Concepts
Functional Requirements
(accept operator/operand commands and calculate the result to display)
arcsin
v.s.inverse sin
v.s.sin^-1
) *The requirements with star (*) are not implemented yet, but will be published eventually.
Usage Requirements
CalcEngine will be consumed by ourselves and 1P teams thru NuGet package.
For us, we need a C# wrapper for CalcEngine, because we will do C# conversion for Calculator App.
In sum, we have the following usage requirements:
Portability Requirements
OS
Languages
Implementation Requirements
Ratpak and CalcEngine are implemented in C++, which won't be changed.
Design Proposal
Choice of Packaging Techniques
To enable interop between C++ and C#, we have 3 choices:
consumed by C# thru P-Invoke
consumed by C# thru COM
consumed by C# thru C#/WinRT
Comparison
All with great efforts
The text was updated successfully, but these errors were encountered: