The override specifier serves two purposes:
1. It allows readers to clearly identify that a virtual method is overriding a method in a parent class.
2. It allows the compiler to emit errors when a subclass accidentally adds a method with the same name but different arguments/return types.
logger->SetContext("LocalContextVar", "Value") was inadvertently broken by 1DS global/local context optimizations
The issue is that we were only respecting the global LogManager-level context, ignoring local ILogger-level contexts.
The fix is to process the global context first, then append local context.
Related work items: #1550788
Implementation of M365a Commercial Id (Enrolled Tenant Id) field:
* new bond schema definition
* reading reg key at SDK initialization on Win32 Desktop only (value is empty on Win 10 UWP and Mac OS X)
* other platforms may manually populate the field value using semantic context API
Verified manually:
* reg key show in Aria event inspector matches the reg key on my machine.
* the value is not populated if reg key is missing.
* semantic context can be used to override the value.
Related work items: #1292874
Issues reported in Office automation. Scenario is unknown, but it appears that the issue is due to no thread safety around MetaStats object. Add thread-safety to Statistics.cpp wrapper around MetaStats.cpp
Related work items: #1541368
1541369 [v3][1DS][StickyNotes][C#] Unable to start app after upgrade from v1 to v3 - WinRT COM exception
* Build script for C# SDK nuget packaging - new DLL name
* Build script for build agent (setup prerequisites for cmake build using choco)
Build scripts only. No code changes. Instructions sent out to the customer how to add the new .DLL to app package manifest to avoid the crash.
Related work items: #1541369
Convert property names to lowercase to avoid confusion between types and field names.
Although msvc and clang do allow this, gcc does not support naming fields same as types.
* Fix sample app build break - C API was not compiled in
* Don't load alternate C API implementation on Mac (LoadLibrary is not a valid call on Mac)
* Modify sample app to show how to use semantic context to populate various Part A fields: app, user, net
* Fix Mac OS X "gaps" - properly report OS name and version
* Optional build tools setup script for Mac OS X (brew install cmake)
Related work items: #1467488, #1470816, #1512476, #1512477, #1512478, #1512479, #1512482
Win 10 UWP SDK sporadic crash in HTTP stack.
Essentially it's the same fix that was previously done on Win32 Desktop: when we pass the buffer ptr to debug callback, the request has been already released and this may lead to trying to access the heap block possibly re-allocated for something else. The fix is to avoid de-allocation of HTTP req/resp until the handling is done, so when the wrapper is destroyed - the request object is also destroyed.
Related work items: #1510118
Rather than return a raw pointer std::vector<StorageRecord>, thus inducing memory managment on the caller and breaking the raw-pointers-are-non-owning rule, IOfflineStorgage::GetRecords should just return the vector. std::vector<T> is cheap to move, and thus can easily be returned from a function on any modern compiler without inducing a massive copy cost.
* Rename members to be consistent with project style.
* Remove extraneous new/delete
* Instead of a std::vector<ECSClientCallbackProxy*>, use a std::vector<std::unique_ptr<ECSClientCallbackProxy>> to manage lifetimes automatically.