OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
PrinterAgentPluginCapabilityTrampoline.hpp File Reference
#include "PrinterAgentPluginCapability.hpp"
#include "../../PyPluginTrampoline.hpp"
#include "IPrinterAgent.hpp"
#include "slic3r/Utils/bambu_networking.hpp"
#include "pybind11/pybind11.h"
#include <exception>
#include <functional>
#include <pybind11/cast.h>
#include <pybind11/pytypes.h>
#include <boost/log/trivial.hpp>
#include <slic3r/plugin/PluginAuditManager.hpp>
#include "slic3r/plugin/PluginManager.hpp"
#include "slic3r/plugin/PythonInterpreter.hpp"
#include <slic3r/plugin/PythonPluginInterface.hpp>
#include <atomic>
#include <chrono>
#include <future>
#include <memory>
#include <mutex>
#include <stdexcept>
#include <string>
#include <system_error>
#include <thread>
#include <type_traits>
Include dependency graph for PrinterAgentPluginCapabilityTrampoline.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Slic3r::PyPrinterAgentPluginCapabilityTrampoline
struct  Slic3r::PyPrinterAgentPluginCapabilityTrampoline::ShutdownDisconnect

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/

Macros

#define ORCA_PY_AGENT_CATCH(name)
#define ORCA_PY_AGENT_OVERRIDE(ret, name, ...)
#define ORCA_PY_AGENT_OVERRIDE_DEFAULT(ret, name, ...)

Functions

template<typename T>
T Slic3r::printer_agent_failure ()

Macro Definition Documentation

◆ ORCA_PY_AGENT_CATCH

#define ORCA_PY_AGENT_CATCH ( name)
Value:
catch (const std::exception& ex) { this->log_failure(#name, ex.what()); } \
catch (...) { this->log_failure(#name, "unknown error"); }
34#define ORCA_PY_AGENT_CATCH(name) \
35 catch (const std::exception& ex) { this->log_failure(#name, ex.what()); } \
36 catch (...) { this->log_failure(#name, "unknown error"); }

Referenced by Slic3r::PyPrinterAgentPluginCapabilityTrampoline::request_bind_ticket().

◆ ORCA_PY_AGENT_OVERRIDE

#define ORCA_PY_AGENT_OVERRIDE ( ret,
name,
... )
Value:
try { \
ORCA_PY_OVERRIDE_AUDITED([] {}, PYBIND11_OVERRIDE_PURE, ret, PrinterAgentPluginCapability, name, ##__VA_ARGS__); \
return printer_agent_failure<ret>()
#define ORCA_PY_AGENT_CATCH(name)
Definition PrinterAgentPluginCapabilityTrampoline.hpp:34
38#define ORCA_PY_AGENT_OVERRIDE(ret, name, ...) \
39 try { \
40 ORCA_PY_OVERRIDE_AUDITED([] {}, PYBIND11_OVERRIDE_PURE, ret, PrinterAgentPluginCapability, name, ##__VA_ARGS__); \
41 } ORCA_PY_AGENT_CATCH(name) \
42 return printer_agent_failure<ret>()

Referenced by Slic3r::PyPrinterAgentPluginCapabilityTrampoline::bind(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::bind_detect(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::check_cert(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::connect_printer(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::get_agent_info(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::get_user_selected_machine(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::ping_bind(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::python_disconnect_printer(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::send_message(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::send_message_to_printer(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::set_on_local_connect_fn(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::set_on_local_message_fn(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::set_on_message_fn(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::set_on_printer_connected_fn(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::set_on_ssdp_msg_fn(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::set_on_subscribe_failure_fn(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::set_on_user_message_fn(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::set_queue_on_main_fn(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::set_server_callback(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::set_user_selected_machine(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::start_discovery(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::start_local_print(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::start_local_print_with_record(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::start_print(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::start_sdcard_print(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::start_send_gcode_to_sdcard(), and Slic3r::PyPrinterAgentPluginCapabilityTrampoline::unbind().

◆ ORCA_PY_AGENT_OVERRIDE_DEFAULT

#define ORCA_PY_AGENT_OVERRIDE_DEFAULT ( ret,
name,
... )
Value:
try { \
ORCA_PY_OVERRIDE_AUDITED([] {}, PYBIND11_OVERRIDE, ret, PrinterAgentPluginCapability, name, ##__VA_ARGS__); \
return printer_agent_failure<ret>()
44#define ORCA_PY_AGENT_OVERRIDE_DEFAULT(ret, name, ...) \
45 try { \
46 ORCA_PY_OVERRIDE_AUDITED([] {}, PYBIND11_OVERRIDE, ret, PrinterAgentPluginCapability, name, ##__VA_ARGS__); \
47 } ORCA_PY_AGENT_CATCH(name) \
48 return printer_agent_failure<ret>()

Referenced by Slic3r::PyPrinterAgentPluginCapabilityTrampoline::command_ams_calibrate(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::command_ams_refresh_rfid(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::command_ams_select_tray(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::command_auto_leveling(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::command_axis_control(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::command_go_home(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::command_set_bed(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::command_set_nozzle(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::command_start_camera(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::command_xyz_abs(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::fetch_filament_info(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::get_camera_stream_mode(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::get_camera_url(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::get_filament_sync_mode(), Slic3r::PyPrinterAgentPluginCapabilityTrampoline::get_hms_snapshot(), and Slic3r::PyPrinterAgentPluginCapabilityTrampoline::install_device_cert().