OrcaSlicer/src/slic3r/Utils/SimplyPrint.hpp
Aidan 17fec83e5b
Flatpak build (#4175)
* Initial commit for the builder

* fix wx, use hack to install into /app

* add some workarounds for /usr/local

* fix up rest of paths

* attempt to fix wxwebview undef

* figure out why wxwidgets isnt getting its patches applied

* do "proper" patching of wxwidgets

* Flip the flag

* actually append the /usr/local

* restrict package finding to flatpak only

* Update the destdir stuff for mpfr, gmp

* Transfer over all the _destdir, again

* update patch command for all other plats

* initial ci check

* what even happened

* clear ci image

* I doubt this will do anything

* do cleanup after running each step

* remove build objects for flatpak ci

* compress debug info

* Fix MacOS build

* Try saving space after building deps

* No debug info for now

* Do debug info, use thin static archives

* use BSD flag, not --thin

* try building with lto

* Use release, no debug info

* remove lto

* Revert the last 5 commits

* It might require write perms

* Revert "It might require write perms"

This reverts commit 44cec58a5713cb5ebbc44e64e314b88b553b8f75.

* Import fixes for merge

* remove some patch stuff

* the worst hack!

* remove uneeded patches

* Initial commit for the builder

* note to self, go back to regular wx

* attempt to fix wxwebview undef

* do "proper" patching of wxwidgets

* update patch command for all other plats

* what even happened

* -ldep_name-NOTFOUND is still here

* concat patches

* Build wx with flatpak

* more wx shenatigans

* fix a missing import

* build wx with proper flags

* fix imports and libs

* trigger ci

* try fixing mac and windows ci

* remove duplicate definition of freetype

* curl may not have openssl for a dep

* has openssl been found?

* force building

* build images on apple

* cleanup for review

* cleanup cmake files

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-25 09:11:19 +08:00

46 lines
1.9 KiB
C++

#ifndef slic3r_SimplyPrint_hpp_
#define slic3r_SimplyPrint_hpp_
#include "PrintHost.hpp"
#include "slic3r/GUI/Jobs/OAuthJob.hpp"
namespace Slic3r {
class DynamicPrintConfig;
class Http;
class SimplyPrint : public PrintHost
{
std::string cred_file;
std::map<std::string, std::string> cred;
void load_oauth_credential();
bool do_api_call(std::function<Http(bool /*is_retry*/)> build_request,
std::function<bool(std::string /* body */, unsigned /* http_status */)> on_complete,
std::function<bool(std::string /* body */, std::string /* error */, unsigned /* http_status */)> on_error) const;
public:
SimplyPrint(DynamicPrintConfig* config);
~SimplyPrint() override = default;
const char* get_name() const override { return "SimplyPrint"; }
bool can_test() const override { return true; }
bool has_auto_discovery() const override { return false; }
bool is_cloud() const override { return true; }
std::string get_host() const override { return "https://simplyprint.io"; }
GUI::OAuthParams get_oauth_params() const;
void save_oauth_credential(const GUI::OAuthResult& cred) const;
wxString get_test_ok_msg() const override;
wxString get_test_failed_msg(wxString& msg) const override;
bool test(wxString& curl_msg) const override;
PrintHostPostUploadActions get_post_upload_actions() const override { return PrintHostPostUploadAction::QueuePrint; }
bool upload(PrintHostUpload upload_data, ProgressFn prorgess_fn, ErrorFn error_fn, InfoFn info_fn) const override;
bool is_logged_in() const override { return !cred.empty(); }
void log_out() const override;
};
} // namespace Slic3r
#endif