func OpenFile()

in plc4go/tools/plc4xpcapanalyzer/ui/actions.go [92:117]


func OpenFile(pcapFile string) error {
	if !strings.HasPrefix(pcapFile, string(os.PathSeparator)) {
		pcapFile = path.Join(currentDir, pcapFile)
	}
	var name string
	if stat, err := os.Stat(pcapFile); err != nil {
		return err
	} else if stat.IsDir() {
		stat.Name()
		return errors.Errorf("%s is a dir", pcapFile)
	} else {
		name = stat.Name()
	}
	for _, loadedPcapFile := range loadedPcapFiles {
		if loadedPcapFile.path == pcapFile {
			return errors.Errorf("%s already loaded", name)
		}
	}
	addRecentFilesEntry(pcapFile)
	loadedPcapFiles = append(loadedPcapFiles, loadedPcapFile{
		name: name,
		path: pcapFile,
	})
	loadedPcapFilesChanged()
	return nil
}