virtual void sendEvent(const osgGA::Event &event) { if (event.getName() == "/zeroconf/advertise") { std::string type; unsigned int port = 0; event.getUserValue("type", type); event.getUserValue("port", port); if (type.empty() || (port == 0)) { OSG_WARN << "ZeroConfRegisterDevice :: could not advertise service, missing type/port " << std::endl; } else { advertise(type, port); } } }
bool OscSendingDevice::sendEventImpl(const osgGA::Event &ea, MsgIdType msg_id) { bool do_send(false); if (ea.getUserDataContainer()) { std::string key = ea.getUserDataContainer()->getName(); if (key.empty()) key = ea.getName(); if (key.empty()) key = "user_data"; sendUserDataContainer(transliterateKey(key), ea.getUserDataContainer(), true, msg_id); do_send = true; } if (do_send) { OSG_INFO << "OscDevice :: sending event per OSC " << std::endl; _transmitSocket.Send( _oscStream.Data(), _oscStream.Size() ); _oscStream.Clear(); } return do_send; }