//Registriert die übergebenen DataRefs entweder beim DataRefEditor (http://www.xsquawkbox.net/xpsdk/mediawiki/DataRefEditor) bzw. beim DataRefTool (https://github.com/leecbaker/datareftool) func RegisterDataRefToDataRefEditor(name ...string) bool { pluginId := plugins.FindPluginBySignature("xplanesdk.examples.DataRefEditor") if pluginId == plugins.NO_PLUGIN_ID { //DataRefEditor nicht vorhanden --> evt. DataRefTool? pluginId = plugins.FindPluginBySignature("com.leecbaker.datareftool") if pluginId == plugins.NO_PLUGIN_ID { return false } } for _, current := range name { cName := C.CString(current) defer C.free(unsafe.Pointer(cName)) msg := plugins.Message{pluginId, plugins.MessageId(0x01000000), unsafe.Pointer(cName)} plugins.SendMessageToPlugin(msg) } return true }
//Externe Schnittstellen-Methode, die von X-Plane beim Empfang einer Nachricht angesprochen wird //export XPluginReceiveMessage func XPluginReceiveMessage(pluginId C.int, messageId C.int, messageData unsafe.Pointer) { if plugin.messageHandler != nil { plugin.messageHandler(plugins.Message{plugins.PluginId(pluginId), plugins.MessageId(messageId), messageData}) } }