DB_host object handling host_add Initialise timestamp add to database host_update change timestamp write to database host_delete For each interface, set the host rowid to zero invoke interface_update FIXME: Destroy the interface objects instead of orphaning them. For each DB_graph entry describing a GXSNMP_HOST: graph_delete the entry graph_destroy the entry FIXME: Destroy all wires connected to the host ... both the gxsnmp_wire objects and the DB_graph/wire objects. delete from database =============================================================================== DB_network object handling network_add Initialize timestamp add to database network_update change timestamp write to database network_delete For each DB_graph entry describing a GXSNMP_NETWORK: graph_delete the entry graph_destroy the entry FIXME: Destroy all wires connected to the network ... both the gxsnmp_wire objects and the DB_graph/wire objects. =============================================================================== DB_interface object handling interface_add Add interface to owning hosts' DB_interface list. Add interface to selected SNMP's DB_interface list. Initialize timestamp add to database interface_update If interface was previously owned by a host, and the host has changed, then remove the interface from the old hosts' GList and zero the DB_host field. FIXME: Send a signal to the host saying that it has had an interface removed. If the interface is assigned to a new host, and the DB_host field is zero, then add the interface to the new host's GList. FIXME: Send a signal to the host saying that it has had an interface added. If the SNMP was previously assigned, and the SNMP definition has changed, then remove interface from the old snmp's GList and zero the DB_snmp field. FIXME: Signal the DB_snmp that it has had an interface removed. If the interface is assigned a new SNMP setting, and the DB_snmp field is zero, then add the interface to the new SNMP GList. FIXME: Signal the DB_snmp object that it has had an interface added. change timestamp write to database interface_delete If the interface is assigned to a host, remove the interface from the host's GList. FIXME: Signal the DB_host that it has had an interface removed. If the interface is assigned a SNMP setting, remove the interface from the SNMP GList FIXME: Signal the DB_snmp object that it has had an interface removed. Delete from database =============================================================================== DB_graph object handling graph_add Add the graph to the DB_host's GList if the graph is a HOST or WIRE object FIXME: Signal the DB_host object instead and let the object do it. Add the graph to the DB_network's GList if the graph is a NETWORK or WIRE object FIXME: Signal the DB_network object instead and let the object do it. Initialize the timestamp Add the record to the graph database graph_update If the graph entry was previously assigned to an old map, remove the graph from the old map's GList FIXME: Signal the old map instead. If the graph entry is assigned to a new map, add the graph entry to the new map. FIXME: Signal the new map instead. If the graph entry was previously assigned to a different host, remove the graph from the old host's GList FIXME: Signal to old host instead If the graph entry is assigned to a new host, add the graph entry to the new host. FIXME: Signal new host instead if the graph entry was previously assigned to a different network, remove the graph from the old network's GList. FIXME: Signal to old network instead If the graph entry is assigned to a new network, add the graph entry to the new network FIXME: Signal to net network instead. update timestamp write to database graph_delete If the graph is assigned to a map, remove it from the map. FIXME: Signal the map instead. If the graph is assigned to a host, remove it from the host FIXME: Signal the host instead If the graph is assigned to a network, remove it from the network. FIXME: Signal the network instead. Delete the row from the database =============================================================================== Methods for GXsnmp_map_items: gxsnmp_map_item gxsnmp_host gxsnmp_network gxsnmp_wire DB_snmp -- not considered yet DB_map -- not considered yet gxsnmp_window -- not considered yet gxsnmp_map -- not considered yet