Skip to content
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

std::filesystem, epee cleanups, wallet_api cleanups #1332

Merged
merged 12 commits into from Oct 30, 2020

Conversation

jagerman
Copy link
Member

Replaces boost::filesystem with std::filesystem (or, when not supported, the ghc::filesystem drop-in replacement, the same thing we use for lokinet).

Also removes some obsolete methods from epee that have direct lokimq or tools::* replacements, moves all epee includes under an "epee/" subdirectory, removes a bunch of useless boost::lexical_cast's (unclear why these were ever used instead of std::to_string).

This also brings wallet_api up to speed: renaming the "Monero" namespace to "Wallet", removing deprecated functions, and updates it for the above.

Switch several builds to sid, and updates the linux clang build to 11.
Converts all use of boost::filesystem to std::filesystem.

For macos and potentially other exotic systems where std::filesystem
isn't available, we use ghc::filesystem instead (which is a drop-in
replacement for std::filesystem, unlike boost::filesystem).

This also greatly changes how we handle filenames internally by holding
them in filesystem::path objects as soon as possible (using
fs::u8path()), rather than strings, which avoids a ton of issues around
unicode filenames.  As a result this lets us drop the boost::locale
dependency on Windows along with a bunch of messy Windows ifdef code,
and avoids the need for doing gross boost locale codecvt calls.
- Remove some useless epee functions, and add deprecated markers to ones
that have good replacements already.
- Don't use boost::lexical_cast when std::to_string or direct stream
output can be used just as well.
- Get rid of dumb epee "include_base_utils.h" header
Payment ID for address books are no longer supported (should be using
integrated addr instead)

Remove deprecated functions taking a `bool` testnet type (they should be
passing the network type enum instead).
Don't "using namespace std"

Make reference/pointer sigils more consistent.
This ends epee's include pollution.
@jagerman jagerman merged commit a09d27f into oxen-io:dev Oct 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant