IPC manager
hold records of which slot is connected to which signal.
Maintain a list of these records along with metadata.
Make available the connections along with the ability to change these connections to dbus api.
Rough outline of the dbus api
register_signal (name, type_enum) -> Registers a signal for consumption ( no signal of same name can exist )
register_slot (name, type_enum) -> Registers a slot for consumption ( no other slot of the same name can exist )
get_all -> Returns a list of slot, signals and connections
{
signals: [
{
name: "some_signal_name"
type: "int"
created_by: "dbus-user"
created_at: "ISO TIMESTAMP"
last_registered: "ISO TIMESTAMP"
}
]
slots: [
{
name: "Some_slot_name"
type: "int"
created_by: "dbus-user"
created_at: "ISO TIMESTAMP"
last_registered: "ISO TIMESTAMP"
last_modified: "ISO TIMESTAMP"
modified_by: "dbus-user"
connected_to: "slot_name"
}
]
}
connect ( slot, signal ) -> Connect the slot to a signal
disconnect ( slot ) -> Disconnect the slot from its signal