mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-06-04 11:14:21 +08:00
Send slotID's for backend_plugins
CURA-10717
This commit is contained in:
parent
4aebd755b2
commit
3037320b03
@ -15,6 +15,10 @@ class BackendPlugin(PluginObject):
|
|||||||
self._plugin_command: Optional[List[str]] = None
|
self._plugin_command: Optional[List[str]] = None
|
||||||
self._process = None
|
self._process = None
|
||||||
self._is_running = False
|
self._is_running = False
|
||||||
|
self._supported_slots: List[int] = []
|
||||||
|
|
||||||
|
def getSupportedSlots(self) -> List[int]:
|
||||||
|
return self._supported_slots
|
||||||
|
|
||||||
def isRunning(self):
|
def isRunning(self):
|
||||||
return self._is_running
|
return self._is_running
|
||||||
@ -25,6 +29,9 @@ class BackendPlugin(PluginObject):
|
|||||||
def getPort(self) -> int:
|
def getPort(self) -> int:
|
||||||
return self.__port
|
return self.__port
|
||||||
|
|
||||||
|
def getAddress(self) -> str:
|
||||||
|
return self._plugin_address
|
||||||
|
|
||||||
def _validatePluginCommand(self) -> list[str]:
|
def _validatePluginCommand(self) -> list[str]:
|
||||||
"""
|
"""
|
||||||
Validate the plugin command and add the port parameter if it is missing.
|
Validate the plugin command and add the port parameter if it is missing.
|
||||||
|
@ -301,6 +301,19 @@ class StartSliceJob(Job):
|
|||||||
for extruder_stack in global_stack.extruderList:
|
for extruder_stack in global_stack.extruderList:
|
||||||
self._buildExtruderMessage(extruder_stack)
|
self._buildExtruderMessage(extruder_stack)
|
||||||
|
|
||||||
|
for plugin in CuraApplication.getInstance().getBackendPlugins():
|
||||||
|
for slot in plugin.getSupportedSlots():
|
||||||
|
# Right now we just send the message for every slot that we support. A single plugin can support
|
||||||
|
# multiple slots
|
||||||
|
# In the future the frontend will need to decide what slots that a plugin actually supports should
|
||||||
|
# also be used. For instance, if you have two plugins and each of them support a_generate and b_generate
|
||||||
|
# only one of each can actually be used (eg; plugin 1 does both, plugin 1 does a_generate and 2 does
|
||||||
|
# b_generate, etc).
|
||||||
|
plugin_message = self._slice_message.addRepeatedMessage("engine_plugins")
|
||||||
|
plugin_message.id = slot
|
||||||
|
plugin_message.address = plugin.getAddress()
|
||||||
|
plugin_message.port = plugin.getPort()
|
||||||
|
|
||||||
for group in filtered_object_groups:
|
for group in filtered_object_groups:
|
||||||
group_message = self._slice_message.addRepeatedMessage("object_lists")
|
group_message = self._slice_message.addRepeatedMessage("object_lists")
|
||||||
parent = group[0].getParent()
|
parent = group[0].getParent()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user