func InitTriggerConfig() { config.OssMutex.Lock() defer config.OssMutex.Unlock() triggerLocalPathsMapTriggerId := make(map[string]string) c_log.GlobalLogger.Info("主节点加载触发器插件 - 开始。") // 1 获取数采任务的触发器列表 cloudTriggers := &config.PlatformConfig.TaskTriggers // 2 获取本地触发器列表(触发器目录的一级子目录为【触发器ID_触发器Label】) localTriggerIds := util.GetFirstLevelSubdirectories(config.CloudConfig.TriggersDir) // 3 对比触发器列表,本地没有的则下载 for _, trigger := range *cloudTriggers { id := util.ToString(trigger.TriggerId) hasIdDir := slices.Contains(localTriggerIds, id) // 改成了 slices 工具库 triggerLocalDir := config.CloudConfig.TriggersDir + id + "/" hasLabelSo, soPaths := util.CheckSoFilesInDirectory(triggerLocalDir) var triggerLocalPath string if hasIdDir && hasLabelSo { // 已存在的触发器需要判断是否大小一致 triggerLocalPath = soPaths[0] ossSize, _ := util.GetOSSFileSize(config.OssBucket, trigger.TriggerScriptPath) localSize, _ := util.GetFileSize(triggerLocalPath) if ossSize == localSize { c_log.GlobalLogger.Info("触发器插件 ", triggerLocalPath, " 存在且与云端触发器大小一致。") triggerLocalPathsMapTriggerId[triggerLocalPath] = id continue } } label := util.GetFileNameWithoutExtension(config.CloudConfig.TriggersDir + trigger.TriggerScriptPath) triggerLocalPath = config.CloudConfig.TriggersDir + id + "/" + label + ".so" c_log.GlobalLogger.Info("开始下载触发器插件从 ", trigger.TriggerScriptPath, " 到 ", triggerLocalPath) _ = util.CreateParentDir(triggerLocalPath) for { if err := config.OssBucket.GetObjectToFile(trigger.TriggerScriptPath, triggerLocalPath); err != nil { c_log.GlobalLogger.Error("下载触发器插件失败,再次尝试:", err) continue } break } triggerLocalPathsMapTriggerId[triggerLocalPath] = id } success := 0 // 加载所有触发器的文件 for triggerLocalPath, triggerId := range triggerLocalPathsMapTriggerId { // 载入插件到数组 open, err := plugin.Open(triggerLocalPath) if err != nil { c_log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "失败。", err) continue } topic0, err := open.Lookup("Topic") if err != nil { c_log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "中的Topic方法失败。", err) continue } topic1, ok := topic0.(func() string) if ok != true { c_log.GlobalLogger.Error("插件", triggerLocalPath, "中的Topic方法必须是(func() string):", err) continue } topic2 := topic1() rule, err := open.Lookup("Rule") if err != nil { c_log.GlobalLogger.Error("加载本地插件", triggerLocalPath, "中的Rule方法失败。", err) continue } if Topic1 == topic2 { // 1 if f, ok1 := rule.(func(data *std_msgs.Int16MultiArray) string); ok1 { Rule1 = append(Rule1, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic2 == topic2 { // 2 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule2 = append(Rule2, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic3 == topic2 { // 3 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule3 = append(Rule3, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic4 == topic2 { // 4 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule4 = append(Rule4, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic5 == topic2 { // 5 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule5 = append(Rule5, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic6 == topic2 { // 6 if f, ok1 := rule.(func(data *geometry_msgs.PoseWithCovarianceStamped) string); ok1 { Rule6 = append(Rule6, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic7 == topic2 { // 7 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule7 = append(Rule7, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic8 == topic2 { // 8 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule8 = append(Rule8, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic9 == topic2 { // 9 if f, ok1 := rule.(func(data *std_msgs.Bool) string); ok1 { Rule9 = append(Rule9, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic10 == topic2 { // 10 if f, ok1 := rule.(func(data *std_msgs.Int8) string); ok1 { Rule10 = append(Rule10, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic11 == topic2 { // 11 if f, ok1 := rule.(func(data *std_msgs.Int8) string); ok1 { Rule11 = append(Rule11, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic12 == topic2 { // 12 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule12 = append(Rule12, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic13 == topic2 { // 13 if f, ok1 := rule.(func(data *sensor_msgs.BatteryState) string); ok1 { Rule13 = append(Rule13, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic14 == topic2 { // 14 if f, ok1 := rule.(func(data *std_msgs.Int16) string); ok1 { Rule14 = append(Rule14, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic15 == topic2 { // 15 if f, ok1 := rule.(func(data *visualization_msgs.Marker) string); ok1 { Rule15 = append(Rule15, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic16 == topic2 { // 16 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule16 = append(Rule16, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic17 == topic2 { // 17 if f, ok1 := rule.(func(data *sensor_msgs.CameraInfo) string); ok1 { Rule17 = append(Rule17, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic18 == topic2 { // 18 if f, ok1 := rule.(func(data *sensor_msgs.Image) string); ok1 { Rule18 = append(Rule18, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic19 == topic2 { // 19 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule19 = append(Rule19, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic20 == topic2 { // 20 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule20 = append(Rule20, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic21 == topic2 { // 21 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule21 = append(Rule21, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic22 == topic2 { // 22 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule22 = append(Rule22, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic23 == topic2 { // 23 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule23 = append(Rule23, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic24 == topic2 { // 24 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule24 = append(Rule24, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic25 == topic2 { // 25 if f, ok1 := rule.(func(data *theora_image_transport.Packet) string); ok1 { Rule25 = append(Rule25, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic26 == topic2 { // 26 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule26 = append(Rule26, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic27 == topic2 { // 27 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule27 = append(Rule27, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic28 == topic2 { // 28 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule28 = append(Rule28, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic29 == topic2 { // 29 if f, ok1 := rule.(func(data *sensor_msgs.CameraInfo) string); ok1 { Rule29 = append(Rule29, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic30 == topic2 { // 30 if f, ok1 := rule.(func(data *sensor_msgs.Image) string); ok1 { Rule30 = append(Rule30, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic31 == topic2 { // 31 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule31 = append(Rule31, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic32 == topic2 { // 32 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule32 = append(Rule32, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic33 == topic2 { // 33 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule33 = append(Rule33, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic34 == topic2 { // 34 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule34 = append(Rule34, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic35 == topic2 { // 35 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule35 = append(Rule35, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic36 == topic2 { // 36 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule36 = append(Rule36, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic37 == topic2 { // 37 if f, ok1 := rule.(func(data *theora_image_transport.Packet) string); ok1 { Rule37 = append(Rule37, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic38 == topic2 { // 38 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule38 = append(Rule38, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic39 == topic2 { // 39 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule39 = append(Rule39, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic40 == topic2 { // 40 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule40 = append(Rule40, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic41 == topic2 { // 41 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule41 = append(Rule41, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic42 == topic2 { // 42 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule42 = append(Rule42, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic43 == topic2 { // 43 if f, ok1 := rule.(func(data *std_msgs.Int8) string); ok1 { Rule43 = append(Rule43, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic44 == topic2 { // 44 if f, ok1 := rule.(func(data *std_msgs.Bool) string); ok1 { Rule44 = append(Rule44, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic45 == topic2 { // 45 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule45 = append(Rule45, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic46 == topic2 { // 46 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule46 = append(Rule46, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic47 == topic2 { // 47 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule47 = append(Rule47, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic48 == topic2 { // 48 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule48 = append(Rule48, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic49 == topic2 { // 49 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule49 = append(Rule49, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic50 == topic2 { // 50 if f, ok1 := rule.(func(data *visualization_msgs.MarkerArray) string); ok1 { Rule50 = append(Rule50, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic51 == topic2 { // 51 if f, ok1 := rule.(func(data *geometry_msgs.PolygonStamped) string); ok1 { Rule51 = append(Rule51, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic52 == topic2 { // 52 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule52 = append(Rule52, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic53 == topic2 { // 53 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule53 = append(Rule53, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic54 == topic2 { // 54 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule54 = append(Rule54, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic55 == topic2 { // 55 if f, ok1 := rule.(func(data *std_msgs.Float32) string); ok1 { Rule55 = append(Rule55, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic56 == topic2 { // 56 if f, ok1 := rule.(func(data *std_msgs.Int32) string); ok1 { Rule56 = append(Rule56, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic57 == topic2 { // 57 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule57 = append(Rule57, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic58 == topic2 { // 58 if f, ok1 := rule.(func(data *clean_msg.ErrorInfo) string); ok1 { Rule58 = append(Rule58, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic59 == topic2 { // 59 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule59 = append(Rule59, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic60 == topic2 { // 60 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule60 = append(Rule60, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic61 == topic2 { // 61 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule61 = append(Rule61, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic62 == topic2 { // 62 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule62 = append(Rule62, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic63 == topic2 { // 63 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule63 = append(Rule63, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic64 == topic2 { // 64 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule64 = append(Rule64, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic65 == topic2 { // 65 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule65 = append(Rule65, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic66 == topic2 { // 66 if f, ok1 := rule.(func(data *std_msgs.Bool) string); ok1 { Rule66 = append(Rule66, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic67 == topic2 { // 67 if f, ok1 := rule.(func(data *std_msgs.Bool) string); ok1 { Rule67 = append(Rule67, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic68 == topic2 { // 68 if f, ok1 := rule.(func(data *geometry_msgs.PolygonStamped) string); ok1 { Rule68 = append(Rule68, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic69 == topic2 { // 69 if f, ok1 := rule.(func(data *geometry_msgs.PointStamped) string); ok1 { Rule69 = append(Rule69, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic70 == topic2 { // 70 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule70 = append(Rule70, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic71 == topic2 { // 71 if f, ok1 := rule.(func(data *geometry_msgs.Twist) string); ok1 { Rule71 = append(Rule71, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic72 == topic2 { // 72 if f, ok1 := rule.(func(data *geometry_msgs.Twist) string); ok1 { Rule72 = append(Rule72, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic73 == topic2 { // 73 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule73 = append(Rule73, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic74 == topic2 { // 74 if f, ok1 := rule.(func(data *common_msgs.CreateMapInfo) string); ok1 { Rule74 = append(Rule74, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic75 == topic2 { // 75 if f, ok1 := rule.(func(data *geometry_msgs.Twist) string); ok1 { Rule75 = append(Rule75, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic76 == topic2 { // 76 if f, ok1 := rule.(func(data *common_msgs.SensorStatus) string); ok1 { Rule76 = append(Rule76, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic77 == topic2 { // 77 if f, ok1 := rule.(func(data *geometry_msgs.PoseArray) string); ok1 { Rule77 = append(Rule77, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic78 == topic2 { // 78 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule78 = append(Rule78, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic79 == topic2 { // 79 if f, ok1 := rule.(func(data *common_msgs.IdentifierObjsInfo) string); ok1 { Rule79 = append(Rule79, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic80 == topic2 { // 80 if f, ok1 := rule.(func(data *common_msgs.McuDiagnostic) string); ok1 { Rule80 = append(Rule80, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic81 == topic2 { // 81 if f, ok1 := rule.(func(data *diagnostic_msgs.DiagnosticArray) string); ok1 { Rule81 = append(Rule81, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic82 == topic2 { // 82 if f, ok1 := rule.(func(data *std_msgs.Int8) string); ok1 { Rule82 = append(Rule82, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic83 == topic2 { // 83 if f, ok1 := rule.(func(data *std_msgs.Int16) string); ok1 { Rule83 = append(Rule83, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic84 == topic2 { // 84 if f, ok1 := rule.(func(data *geometry_msgs.Vector3Stamped) string); ok1 { Rule84 = append(Rule84, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic85 == topic2 { // 85 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule85 = append(Rule85, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic86 == topic2 { // 86 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule86 = append(Rule86, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic87 == topic2 { // 87 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule87 = append(Rule87, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic88 == topic2 { // 88 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule88 = append(Rule88, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic89 == topic2 { // 89 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule89 = append(Rule89, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic90 == topic2 { // 90 if f, ok1 := rule.(func(data *std_msgs.Int32) string); ok1 { Rule90 = append(Rule90, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic91 == topic2 { // 91 if f, ok1 := rule.(func(data *common_msgs.TaskInfo) string); ok1 { Rule91 = append(Rule91, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic92 == topic2 { // 92 if f, ok1 := rule.(func(data *common_msgs.MapInfo) string); ok1 { Rule92 = append(Rule92, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic93 == topic2 { // 93 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule93 = append(Rule93, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic94 == topic2 { // 94 if f, ok1 := rule.(func(data *common_msgs.VideoStream) string); ok1 { Rule94 = append(Rule94, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic95 == topic2 { // 95 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule95 = append(Rule95, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic96 == topic2 { // 96 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule96 = append(Rule96, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic97 == topic2 { // 97 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule97 = append(Rule97, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic98 == topic2 { // 98 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule98 = append(Rule98, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic99 == topic2 { // 99 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule99 = append(Rule99, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic100 == topic2 { // 100 if f, ok1 := rule.(func(data *geometry_msgs.PointStamped) string); ok1 { Rule100 = append(Rule100, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic101 == topic2 { // 101 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule101 = append(Rule101, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic102 == topic2 { // 102 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule102 = append(Rule102, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic103 == topic2 { // 103 if f, ok1 := rule.(func(data *geometry_msgs.PoseWithCovarianceStamped) string); ok1 { Rule103 = append(Rule103, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic104 == topic2 { // 104 if f, ok1 := rule.(func(data *geometry_msgs.Pose) string); ok1 { Rule104 = append(Rule104, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic105 == topic2 { // 105 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule105 = append(Rule105, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic106 == topic2 { // 106 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule106 = append(Rule106, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic107 == topic2 { // 107 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule107 = append(Rule107, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic108 == topic2 { // 108 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule108 = append(Rule108, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic109 == topic2 { // 109 if f, ok1 := rule.(func(data *std_msgs.Float64) string); ok1 { Rule109 = append(Rule109, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic110 == topic2 { // 110 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule110 = append(Rule110, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic111 == topic2 { // 111 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule111 = append(Rule111, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic112 == topic2 { // 112 if f, ok1 := rule.(func(data *sensor_msgs.Imu) string); ok1 { Rule112 = append(Rule112, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic113 == topic2 { // 113 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule113 = append(Rule113, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic114 == topic2 { // 114 if f, ok1 := rule.(func(data *std_msgs.Int8) string); ok1 { Rule114 = append(Rule114, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic115 == topic2 { // 115 if f, ok1 := rule.(func(data *std_msgs.Int16) string); ok1 { Rule115 = append(Rule115, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic116 == topic2 { // 116 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule116 = append(Rule116, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic117 == topic2 { // 117 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule117 = append(Rule117, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic118 == topic2 { // 118 if f, ok1 := rule.(func(data *geometry_msgs.PoseWithCovarianceStamped) string); ok1 { Rule118 = append(Rule118, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic119 == topic2 { // 119 if f, ok1 := rule.(func(data *sensor_msgs.JointState) string); ok1 { Rule119 = append(Rule119, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic120 == topic2 { // 120 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule120 = append(Rule120, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic121 == topic2 { // 121 if f, ok1 := rule.(func(data *cartographer_ros_msgs.LandmarkList) string); ok1 { Rule121 = append(Rule121, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic122 == topic2 { // 122 if f, ok1 := rule.(func(data *nav_msgs.Odometry) string); ok1 { Rule122 = append(Rule122, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic123 == topic2 { // 123 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule123 = append(Rule123, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic124 == topic2 { // 124 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule124 = append(Rule124, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic125 == topic2 { // 125 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule125 = append(Rule125, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic126 == topic2 { // 126 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule126 = append(Rule126, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic127 == topic2 { // 127 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule127 = append(Rule127, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic128 == topic2 { // 128 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule128 = append(Rule128, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic129 == topic2 { // 129 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule129 = append(Rule129, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic130 == topic2 { // 130 if f, ok1 := rule.(func(data *geometry_msgs.PoseWithCovarianceStamped) string); ok1 { Rule130 = append(Rule130, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic131 == topic2 { // 131 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule131 = append(Rule131, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic132 == topic2 { // 132 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule132 = append(Rule132, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic133 == topic2 { // 133 if f, ok1 := rule.(func(data *common_msgs.LocateInfo) string); ok1 { Rule133 = append(Rule133, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic134 == topic2 { // 134 if f, ok1 := rule.(func(data *std_msgs.Bool) string); ok1 { Rule134 = append(Rule134, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic135 == topic2 { // 135 if f, ok1 := rule.(func(data *std_msgs.Float64MultiArray) string); ok1 { Rule135 = append(Rule135, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic136 == topic2 { // 136 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule136 = append(Rule136, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic137 == topic2 { // 137 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule137 = append(Rule137, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic138 == topic2 { // 138 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule138 = append(Rule138, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic139 == topic2 { // 139 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule139 = append(Rule139, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic140 == topic2 { // 140 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule140 = append(Rule140, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic141 == topic2 { // 141 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule141 = append(Rule141, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic142 == topic2 { // 142 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule142 = append(Rule142, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic143 == topic2 { // 143 if f, ok1 := rule.(func(data *nav_msgs.MapMetaData) string); ok1 { Rule143 = append(Rule143, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic144 == topic2 { // 144 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule144 = append(Rule144, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic145 == topic2 { // 145 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule145 = append(Rule145, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic146 == topic2 { // 146 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule146 = append(Rule146, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic147 == topic2 { // 147 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule147 = append(Rule147, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic148 == topic2 { // 148 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule148 = append(Rule148, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic149 == topic2 { // 149 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule149 = append(Rule149, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic150 == topic2 { // 150 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule150 = append(Rule150, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic151 == topic2 { // 151 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule151 = append(Rule151, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic152 == topic2 { // 152 if f, ok1 := rule.(func(data *std_msgs.Bool) string); ok1 { Rule152 = append(Rule152, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic153 == topic2 { // 153 if f, ok1 := rule.(func(data *sensor_msgs.CameraInfo) string); ok1 { Rule153 = append(Rule153, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic154 == topic2 { // 154 if f, ok1 := rule.(func(data *sensor_msgs.Image) string); ok1 { Rule154 = append(Rule154, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic155 == topic2 { // 155 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule155 = append(Rule155, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic156 == topic2 { // 156 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule156 = append(Rule156, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic157 == topic2 { // 157 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule157 = append(Rule157, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic158 == topic2 { // 158 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule158 = append(Rule158, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic159 == topic2 { // 159 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule159 = append(Rule159, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic160 == topic2 { // 160 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule160 = append(Rule160, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic161 == topic2 { // 161 if f, ok1 := rule.(func(data *theora_image_transport.Packet) string); ok1 { Rule161 = append(Rule161, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic162 == topic2 { // 162 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule162 = append(Rule162, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic163 == topic2 { // 163 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule163 = append(Rule163, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic164 == topic2 { // 164 if f, ok1 := rule.(func(data *sensor_msgs.CameraInfo) string); ok1 { Rule164 = append(Rule164, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic165 == topic2 { // 165 if f, ok1 := rule.(func(data *sensor_msgs.Image) string); ok1 { Rule165 = append(Rule165, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic166 == topic2 { // 166 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule166 = append(Rule166, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic167 == topic2 { // 167 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule167 = append(Rule167, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic168 == topic2 { // 168 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule168 = append(Rule168, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic169 == topic2 { // 169 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule169 = append(Rule169, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic170 == topic2 { // 170 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule170 = append(Rule170, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic171 == topic2 { // 171 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule171 = append(Rule171, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic172 == topic2 { // 172 if f, ok1 := rule.(func(data *theora_image_transport.Packet) string); ok1 { Rule172 = append(Rule172, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic173 == topic2 { // 173 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule173 = append(Rule173, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic174 == topic2 { // 174 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule174 = append(Rule174, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic175 == topic2 { // 175 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule175 = append(Rule175, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic176 == topic2 { // 176 if f, ok1 := rule.(func(data *sensor_msgs.CameraInfo) string); ok1 { Rule176 = append(Rule176, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic177 == topic2 { // 177 if f, ok1 := rule.(func(data *sensor_msgs.Image) string); ok1 { Rule177 = append(Rule177, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic178 == topic2 { // 178 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule178 = append(Rule178, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic179 == topic2 { // 179 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule179 = append(Rule179, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic180 == topic2 { // 180 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule180 = append(Rule180, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic181 == topic2 { // 181 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule181 = append(Rule181, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic182 == topic2 { // 182 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule182 = append(Rule182, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic183 == topic2 { // 183 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule183 = append(Rule183, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic184 == topic2 { // 184 if f, ok1 := rule.(func(data *theora_image_transport.Packet) string); ok1 { Rule184 = append(Rule184, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic185 == topic2 { // 185 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule185 = append(Rule185, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic186 == topic2 { // 186 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule186 = append(Rule186, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic187 == topic2 { // 187 if f, ok1 := rule.(func(data *sensor_msgs.CameraInfo) string); ok1 { Rule187 = append(Rule187, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic188 == topic2 { // 188 if f, ok1 := rule.(func(data *sensor_msgs.Image) string); ok1 { Rule188 = append(Rule188, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic189 == topic2 { // 189 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule189 = append(Rule189, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic190 == topic2 { // 190 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule190 = append(Rule190, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic191 == topic2 { // 191 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule191 = append(Rule191, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic192 == topic2 { // 192 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule192 = append(Rule192, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic193 == topic2 { // 193 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule193 = append(Rule193, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic194 == topic2 { // 194 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule194 = append(Rule194, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic195 == topic2 { // 195 if f, ok1 := rule.(func(data *theora_image_transport.Packet) string); ok1 { Rule195 = append(Rule195, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic196 == topic2 { // 196 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule196 = append(Rule196, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic197 == topic2 { // 197 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule197 = append(Rule197, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic198 == topic2 { // 198 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule198 = append(Rule198, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic199 == topic2 { // 199 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule199 = append(Rule199, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic200 == topic2 { // 200 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule200 = append(Rule200, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic201 == topic2 { // 201 if f, ok1 := rule.(func(data *std_msgs.UInt8) string); ok1 { Rule201 = append(Rule201, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic202 == topic2 { // 202 if f, ok1 := rule.(func(data *nav_msgs.Odometry) string); ok1 { Rule202 = append(Rule202, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic203 == topic2 { // 203 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule203 = append(Rule203, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic204 == topic2 { // 204 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule204 = append(Rule204, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic205 == topic2 { // 205 if f, ok1 := rule.(func(data *nav_msgs.Odometry) string); ok1 { Rule205 = append(Rule205, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic206 == topic2 { // 206 if f, ok1 := rule.(func(data *sensor_msgs.Imu) string); ok1 { Rule206 = append(Rule206, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic207 == topic2 { // 207 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule207 = append(Rule207, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic208 == topic2 { // 208 if f, ok1 := rule.(func(data *geometry_msgs.PoseArray) string); ok1 { Rule208 = append(Rule208, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic209 == topic2 { // 209 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule209 = append(Rule209, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic210 == topic2 { // 210 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule210 = append(Rule210, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic211 == topic2 { // 211 if f, ok1 := rule.(func(data *geometry_msgs.PoseWithCovarianceStamped) string); ok1 { Rule211 = append(Rule211, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic212 == topic2 { // 212 if f, ok1 := rule.(func(data *geometry_msgs.Vector3Stamped) string); ok1 { Rule212 = append(Rule212, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic213 == topic2 { // 213 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule213 = append(Rule213, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic214 == topic2 { // 214 if f, ok1 := rule.(func(data *common_msgs.FunctionAreas) string); ok1 { Rule214 = append(Rule214, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic215 == topic2 { // 215 if f, ok1 := rule.(func(data *std_msgs.Bool) string); ok1 { Rule215 = append(Rule215, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic216 == topic2 { // 216 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule216 = append(Rule216, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic217 == topic2 { // 217 if f, ok1 := rule.(func(data *std_msgs.Float64MultiArray) string); ok1 { Rule217 = append(Rule217, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic218 == topic2 { // 218 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule218 = append(Rule218, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic219 == topic2 { // 219 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule219 = append(Rule219, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic220 == topic2 { // 220 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule220 = append(Rule220, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic221 == topic2 { // 221 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule221 = append(Rule221, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic222 == topic2 { // 222 if f, ok1 := rule.(func(data *geometry_msgs.PoseWithCovarianceStamped) string); ok1 { Rule222 = append(Rule222, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic223 == topic2 { // 223 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule223 = append(Rule223, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic224 == topic2 { // 224 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule224 = append(Rule224, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic225 == topic2 { // 225 if f, ok1 := rule.(func(data *localization_monitor.RobotStatus) string); ok1 { Rule225 = append(Rule225, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic226 == topic2 { // 226 if f, ok1 := rule.(func(data *std_msgs.Float64MultiArray) string); ok1 { Rule226 = append(Rule226, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic227 == topic2 { // 227 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule227 = append(Rule227, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic228 == topic2 { // 228 if f, ok1 := rule.(func(data *actionlib_msgs.GoalID) string); ok1 { Rule228 = append(Rule228, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic229 == topic2 { // 229 if f, ok1 := rule.(func(data *ipa_building_msgs.MapSegmentationActionFeedback) string); ok1 { Rule229 = append(Rule229, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic230 == topic2 { // 230 if f, ok1 := rule.(func(data *ipa_building_msgs.MapSegmentationActionGoal) string); ok1 { Rule230 = append(Rule230, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic231 == topic2 { // 231 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule231 = append(Rule231, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic232 == topic2 { // 232 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule232 = append(Rule232, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic233 == topic2 { // 233 if f, ok1 := rule.(func(data *ipa_building_msgs.MapSegmentationActionResult) string); ok1 { Rule233 = append(Rule233, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic234 == topic2 { // 234 if f, ok1 := rule.(func(data *nav_msgs.OccupancyGrid) string); ok1 { Rule234 = append(Rule234, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic235 == topic2 { // 235 if f, ok1 := rule.(func(data *actionlib_msgs.GoalStatusArray) string); ok1 { Rule235 = append(Rule235, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic236 == topic2 { // 1 if f, ok1 := rule.(func(data *rosgraph_msgs.Log) string); ok1 { Rule236 = append(Rule236, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic237 == topic2 { // 2 if f, ok1 := rule.(func(data *rosgraph_msgs.Log) string); ok1 { Rule237 = append(Rule237, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic238 == topic2 { // 3 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule238 = append(Rule238, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic239 == topic2 { // 4 if f, ok1 := rule.(func(data *geometry_msgs.Vector3Stamped) string); ok1 { Rule239 = append(Rule239, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic240 == topic2 { // 5 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule240 = append(Rule240, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic241 == topic2 { // 6 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule241 = append(Rule241, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic242 == topic2 { // 7 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule242 = append(Rule242, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic243 == topic2 { // 8 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule243 = append(Rule243, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic244 == topic2 { // 9 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule244 = append(Rule244, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic245 == topic2 { // 10 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule245 = append(Rule245, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic246 == topic2 { // 11 if f, ok1 := rule.(func(data *sensor_msgs.PointCloud2) string); ok1 { Rule246 = append(Rule246, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic247 == topic2 { // 12 if f, ok1 := rule.(func(data *visualization_msgs.MarkerArray) string); ok1 { Rule247 = append(Rule247, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic248 == topic2 { // 13 if f, ok1 := rule.(func(data *common_msgs.SensorTask) string); ok1 { Rule248 = append(Rule248, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic249 == topic2 { // 14 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule249 = append(Rule249, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic250 == topic2 { // 15 if f, ok1 := rule.(func(data *geometry_msgs.Vector3Stamped) string); ok1 { Rule250 = append(Rule250, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic251 == topic2 { // 16 if f, ok1 := rule.(func(data *common_msgs.SonarList) string); ok1 { Rule251 = append(Rule251, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic252 == topic2 { // 17 if f, ok1 := rule.(func(data *nav_msgs.Odometry) string); ok1 { Rule252 = append(Rule252, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic253 == topic2 { // 18 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule253 = append(Rule253, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic254 == topic2 { // 19 if f, ok1 := rule.(func(data *std_msgs.Bool) string); ok1 { Rule254 = append(Rule254, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic255 == topic2 { // 20 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule255 = append(Rule255, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic256 == topic2 { // 21 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule256 = append(Rule256, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic257 == topic2 { // 22 if f, ok1 := rule.(func(data *std_msgs.Bool) string); ok1 { Rule257 = append(Rule257, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic258 == topic2 { // 23 if f, ok1 := rule.(func(data *sensor_msgs.CameraInfo) string); ok1 { Rule258 = append(Rule258, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic259 == topic2 { // 24 if f, ok1 := rule.(func(data *common_msgs.SysInfo) string); ok1 { Rule259 = append(Rule259, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic260 == topic2 { // 25 if f, ok1 := rule.(func(data *sensor_msgs.Image) string); ok1 { Rule260 = append(Rule260, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic261 == topic2 { // 26 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule261 = append(Rule261, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic262 == topic2 { // 27 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule262 = append(Rule262, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic263 == topic2 { // 28 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule263 = append(Rule263, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic264 == topic2 { // 29 if f, ok1 := rule.(func(data *sensor_msgs.CompressedImage) string); ok1 { Rule264 = append(Rule264, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic265 == topic2 { // 30 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule265 = append(Rule265, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic266 == topic2 { // 31 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule266 = append(Rule266, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic267 == topic2 { // 32 if f, ok1 := rule.(func(data *theora_image_transport.Packet) string); ok1 { Rule267 = append(Rule267, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic268 == topic2 { // 33 if f, ok1 := rule.(func(data *dynamic_reconfigure.ConfigDescription) string); ok1 { Rule268 = append(Rule268, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic269 == topic2 { // 34 if f, ok1 := rule.(func(data *dynamic_reconfigure.Config) string); ok1 { Rule269 = append(Rule269, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic270 == topic2 { // 35 if f, ok1 := rule.(func(data *std_msgs.Bool) string); ok1 { Rule270 = append(Rule270, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic271 == topic2 { // 36 if f, ok1 := rule.(func(data *geometry_msgs.PoseStamped) string); ok1 { Rule271 = append(Rule271, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic272 == topic2 { // 37 if f, ok1 := rule.(func(data *geometry_msgs.Vector3Stamped) string); ok1 { Rule272 = append(Rule272, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic273 == topic2 { // 38 if f, ok1 := rule.(func(data *common_msgs.TaskFeedbackInfo) string); ok1 { Rule273 = append(Rule273, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic274 == topic2 { // 39 if f, ok1 := rule.(func(data *common_msgs.Points) string); ok1 { Rule274 = append(Rule274, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic275 == topic2 { // 40 if f, ok1 := rule.(func(data *tf2_msgs.TFMessage) string); ok1 { Rule275 = append(Rule275, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic276 == topic2 { // 41 if f, ok1 := rule.(func(data *std_msgs.String) string); ok1 { Rule276 = append(Rule276, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic277 == topic2 { // 42 if f, ok1 := rule.(func(data *tf2_msgs.TFMessage) string); ok1 { Rule277 = append(Rule277, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic278 == topic2 { // 43 if f, ok1 := rule.(func(data *nav_msgs.Path) string); ok1 { Rule278 = append(Rule278, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic279 == topic2 { // 44 if f, ok1 := rule.(func(data *common_msgs.UpLoadFileList) string); ok1 { Rule279 = append(Rule279, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic280 == topic2 { // 45 if f, ok1 := rule.(func(data *sensor_msgs.Range) string); ok1 { Rule280 = append(Rule280, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic281 == topic2 { // 46 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule281 = append(Rule281, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic282 == topic2 { // 47 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule282 = append(Rule282, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic283 == topic2 { // 48 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule283 = append(Rule283, f) goto JudgeDone } log(triggerLocalPath) continue } else if Topic284 == topic2 { // 49 if f, ok1 := rule.(func(data *sensor_msgs.LaserScan) string); ok1 { Rule284 = append(Rule284, f) goto JudgeDone } log(triggerLocalPath) continue } else { c_log.GlobalLogger.Error("未知的topic:", topic2) continue } JudgeDone: label, err := open.Lookup("Label") if err != nil { c_log.GlobalLogger.Error("加载本地插件 ", triggerLocalPath, " 中的 Label 方法失败。", err) continue } labelFunc := label.(func() string) labelString := labelFunc() LabelMapTriggerId.Store(labelString, triggerId) success++ } c_log.GlobalLogger.Info("一共应加载", len(config.PlatformConfig.TaskTriggers), "个触发器,实际加载 ", success, " 个触发器。") }