func (s *signalGraph) ReadFile(filepath string) error { g := backend.XmlSignalGraphNew() err := g.ReadFile(filepath) if err != nil { return fmt.Errorf("signalGraph.ReadFile error: %v", err) } s.itsType, err = createSignalGraphTypeFromXml(g, s.filename, s.itsType.(*signalGraphType).context, func(_ string, _ gr.PortDirection) *portType { return nil }) return err }
func (s *signalGraph) Read(data []byte) (cnt int, err error) { g := backend.XmlSignalGraphNew() cnt, err = g.Read(data) if err != nil { err = fmt.Errorf("signalGraph.Read error: %v", err) } s.itsType, err = createSignalGraphTypeFromXml(g, s.filename, s.itsType.(*signalGraphType).context, func(_ string, _ gr.PortDirection) *portType { return nil }) return }
func CreateXmlSignalGraphType(t bh.SignalGraphTypeIf) *backend.XmlSignalGraph { ret := backend.XmlSignalGraphNew() for _, l := range t.Libraries() { ret.Libraries = append(ret.Libraries, *CreateXmlLibraryRef(l.Filename())) } for _, n := range t.InputNodes() { ret.InputNodes = append(ret.InputNodes, *CreateXmlInputNode(n)) } for _, n := range t.OutputNodes() { ret.OutputNodes = append(ret.OutputNodes, *CreateXmlOutputNode(n)) } for _, n := range t.ProcessingNodes() { ret.ProcessingNodes = append(ret.ProcessingNodes, *CreateXmlProcessingNode(n)) } for _, n := range t.Nodes() { for _, p := range n.OutPorts() { for _, c := range p.Connections() { conn := p.Connection(c) ret.Connections = append(ret.Connections, *CreateXmlConnection(conn)) } } } return ret }