* Set the NOMINMAX macro for msbuild targets
* Set the NOMINMAX macro for CMake based builds.
* Get rid of #ifdefs and #undefs for min and max
* Use <PreprocessorDefinitions> to add the NOMINMAX macro, rather than <AdditionalOptions>
* Missed one <AdditionalOptions> blob.
Co-authored-by: Max Golovanov <maxgolov@microsoft.com>
* Add DefaultDataViewerFuncTests.
* VS auto-updated files
VS is continuously generates these files, checking them in as well.
* Revert "VS auto-updated files"
This reverts commit f3662f6507.
* Cleaner fix for Clienttelemetry.vcxitems.filters
* Module commit update
* Add PrivacyGuardHelper
The class manages the PrivacyGuard shared_ptr.shared_ptr. This is needed to allow for logmanger-specific integration.
* Add checks for module before including PG.
* Update modules commit to module-master
* Fix build breaks and address comments.
* Correctly use the shared_ptr
* Fix missing methods for ILogManager
- Added tests
- Renamed PrivacyGuardState to PrivacyGuardHelper.
* Remove `/*static*/` where it's not used.
* Simplify the PG registration for LogManager
* Revert "Remove `/*static*/` where it's not used."
This reverts commit 3cf8f12242.
* Revert "Add PrivacyGuardState"
This reverts commit 42996be631.
# Conflicts:
# lib/android_build/maesdk/src/main/java/com/microsoft/applications/events/LogManagerProvider.java
# lib/jni/LogManager_jni.cpp
# lib/jni/PrivacyGuard_jni.cpp
* Revert more changes.
* Cleanup LogManager and tests
* Minor rename of methods.
* Improve the test for PG on Multiple LogManager
* Minor refactoring.
* Add Java implementation for PG InitConfig
* Fix Mac build break for Android
Add support for multi-user scenarios
Point modules to newer commit with PG Module changes.
* Update modules and JNI.
* Try fix build break.
* Disable Android test for PG
Remove all the #ifs I added to make the test work.
* Fix PrivacyGuard_JNI compilation
* Remove deprecated CDC fields from Java.
* Update Obj-C Wrapper.
* Add ObjC InitConfig files.
* ObjC Wrapper updates.
* Update modules commit.
* Modules repo commit update.
* Pair programming and Xcode FTW
* Java Updates
* Address ObjC comments.
* Update main.mm to initialize the NSMutableArrays before using them.
* fix typo
* Update PG test
* Update InitConfig to use a C'tor for required values.
* Fix a typo on ObjC Wrapper
* Update Modules commit point to master tip.
Co-authored-by: David Brown <dabrow@microsoft.com>
Previously with multiple log managers, all log managers needed skipSqliteInitAndShutdown, and SQLite needed to be initialized independently. Otherwise, even with careful sequencing of creating and shutting down log managers, operations like `recreate` could call shutdown, improperly tearing down SQLite while other log managers are active.
This ensures that `sqlite3_shutdown` isn't called if there are any other SDK instances of SQLite in the same memory space. I don't expect this to cause any issues, because shutting down SQLite is generally unnecessary. Added a related test, and re-enabled all the other tests 🙂
This change also fixes an issue where `MockIRuntimeConfig` could persist some state between tests.
Co-authored-by: Max Golovanov <maxgolov@microsoft.com>
Co-authored-by: jevery23 <joevery@microsoft.com>
* Added applicationWillTerminate notification observer
* Added appWillTerminte notification handler to not allow use of SDK after the notification fires
* Minor corrections
* used compiler flags for iOS
* Added [ODWLogManager applicationWillTerminate] class method instead of listening to notification in SDK
* Addded pause transmission and flushAndTearDown calls in appWillTerminate method.
* correctin in api call
Co-authored-by: Max Golovanov <maxgolov@microsoft.com>
* Consolidate msbuild and test logic into separate batch files, so helper scripts don't need to duplicate too much.
* Use tools\vcvars.cmd, rather than directly linking against the VS2017 cmd.
* Add the ability to specifiy custom properties to RunMsBuild.bat
* Move build-all.bat to use RunMsBuild.bat, remove references to non-existant vcvars-ext.bat
* Workaround for undefined RRF_SUBKEY_WOW6464KEY regkey
* Add support for custom r: device IDs
* Revert "Workaround for undefined RRF_SUBKEY_WOW6464KEY regkey"
This reverts commit edad4f3366.
Co-authored-by: Jason Bray <jasbray@microsoft.com>
* Update json.hpp
Integrate the latest Released version of json.hpp from https://github.com/nlohmann/json/releases/tag/v3.9.1
* Update spellcheck.yml
Turn off spell-checker for json.hpp (external code)
* Update LogConfiguration.cpp
Fix an issue with new json.hpp
* Add missing braces
* Make UnitTests.vcxproj consume the .lib file produced by win32-lib, not recompile each file.
* Make FuncTests.vcxproj consume the .lib file produced by win32-lib, not recompile each file.
* Enable Warning as Error on GCC and Clang builds for symmetry with Windows.
* Fix -Wreorder issues in HttpClient_Curl.hpp
* Default assign variables using in-class initializer per CppStandardGuidelines C.48
* Disable -Wtype-limits on clang in parity with MSVC
* Handle GCC separately from Clang for manipulating the warning state.
* Undo a clang-format change.
* Exec is used on non-Apple platforms, however this means that the method fires -Wunused-function on Apple platforms. Locally supress that warning.
* Suppress missing field initializer warning around tm, as I'm not 100% what the most correct fix is here.
* Avoid multi-line comment continuation in -Wcomment
* GCC throws -Wunknown-pragmas on #pragma clang, surround invocations with #ifdef __clang__
* Remove unused local variable, as it's not necessary for the test.
* Suppress -Wobjc-missing-super warnings in third_party code.
* Fix a -Wformat-security warning by treating the message string as an argument.
* Fix error: comparison between ‘const enum Microsoft::Applications::Events::EventProperty::<unnamed>’ and ‘const enum evt_prop_t’ [-Werror=enum-compare]
* Rather than %@, use %s for c-style strings.
* The two types here aren't safely default comparable, cast to underlying types.
* Rather than raising an exception directly, call ODWLogger raiseException
* Wrap #pragma warning with _MSC_VER ifdefs.
* No need for an NSString when NSException prefers a string literal.
* Fix -Wreorder issues in HttpResponseDecoderTests
* Fix error: 'ShadowBondSplicer::addRecord' hides overloaded virtual function [-Werror,-Woverloaded-virtual] by renaming the helper to addCsRecord
* Fix unused local variable warnings by removing the unused locals.
* Fix error: local variable 'output' will be copied despite being returned by name [-Werror,-Wreturn-std-move]. Note that this won't be necessary with guaranteed NVRO in C++17, yay!
* Remove unused locals in MetaStatsTests::GenerateStartEvent
* Fix -Wswitch error on non-Android.
* Fix error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] in OfflineStorageTests_Room.cpp
* More unsigned-signed comparison warning fixes.
* howMany is used in a lambda capture, but clang thinks it isn't used. Odd.
* The unused-lambda-capture warning appears to be a Clang9 bug, don't disable this warning for GCC
* More signed-unsigned comparison fixes.
* Fix signed-unsigned comparison warning in TransmissionPolicyManagerTests. Used long long since that's the return type of std::chrono::duration::milliseconds::count()
* Don't need the long long, default int is fine.
* Fix -wsign-compare in TransmitProfilesTests.cpp
* Missed assigning isAborted to false, std::atomic<T> will zero init its details, but not the T (until C++20).
* Fix -Wdeprecated-copy by defining the copy and move constructors for the Variant type.
* Add copy and move c'tors and assignment operators to the GUID_t type.
* Add copy and move constructors and assignment operators on time_ticks_t
* Fix -Wformat-truncation on GCC 9.3.0 in Pal.cpp by suppressing the warning on this line. This appears to be a false positive.
* INSTANTIATE_TEST_CASE_P is deprecated, using INSTANTIATE_TEST_SUITE_P
* Clang also defines __GNUC__, so since this warning is a GCC only issue suppress the warning when !defined __clang__
* Missed closing #endif in PAL.cpp
* Some versions of GTest deprecate INSTANTIATE_TEST_CASE_P and others do not, the 1DS SDK should unify on a single version of GTest that's part of the repo, or via a package manager. That's not going to be part of this changelist, so simply suppress this warning.
Co-authored-by: Max Golovanov <maxgolov@microsoft.com>
Add error checking in the getLogger method. Some applications are
seeing Java exceptions (no such field) from the nativeGetLogger method.
Co-authored-by: Martin Harriman <maharrim@microsoft.com>
* Targeted fix to enable the arm64 static library build
* Code review fixes for solution :
Revert change to remove SampleCppUTC
Revert changes to fix Debug.vs2015.MT-sqlite targets that are not used by build-win.ps1