daemon: refactored NodeData to reference a node instead of replicating fields as an intermediate passthrough, removed data() functions from nodes due to this change
This commit is contained in:
parent
1702fe256f
commit
ecc3eb1c89
10 changed files with 52 additions and 129 deletions
|
@ -12,11 +12,10 @@ from core.emulator.enumerations import (
|
|||
ExceptionLevels,
|
||||
LinkTypes,
|
||||
MessageFlags,
|
||||
NodeTypes,
|
||||
)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from core.nodes.base import CoreNode
|
||||
from core.nodes.base import CoreNode, NodeBase
|
||||
|
||||
|
||||
@dataclass
|
||||
|
@ -121,23 +120,11 @@ class NodeOptions:
|
|||
@dataclass
|
||||
class NodeData:
|
||||
"""
|
||||
Used to represent nodes being broadcasted.
|
||||
Node to broadcast.
|
||||
"""
|
||||
|
||||
node: "NodeBase"
|
||||
message_type: MessageFlags = None
|
||||
type: NodeTypes = None
|
||||
id: int = None
|
||||
name: str = None
|
||||
model: str = None
|
||||
server: str = None
|
||||
icon: str = None
|
||||
canvas: int = None
|
||||
services: List[str] = None
|
||||
x_position: float = None
|
||||
y_position: float = None
|
||||
latitude: float = None
|
||||
longitude: float = None
|
||||
altitude: float = None
|
||||
source: str = None
|
||||
|
||||
|
||||
|
|
|
@ -807,9 +807,9 @@ class Session:
|
|||
:param source: source of broadcast, None by default
|
||||
:return: nothing
|
||||
"""
|
||||
node_data = node.data(message_type, source)
|
||||
if not node_data:
|
||||
if not node.apitype:
|
||||
return
|
||||
node_data = NodeData(node=node, message_type=message_type, source=source)
|
||||
for handler in self.node_handlers:
|
||||
handler(node_data)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue