void plugin::watchpinChanged(const unsigned char port, const unsigned char pinmask) { qDebug() << "WATCH PIN CHANGED" << port << pinmask; ServiceData sc = ServiceData::createModelChangeItem("udpio.sensor"); for (int i=0;i<8;++i) { bool newvalue = (1 << i) & pinmask; if (!m_read || m_sensors[i] != newvalue) { m_sensors[i] = newvalue; sc.setData("sensorid", i); sc.setData("value", m_sensors[i]); changeProperty(sc.getData()); m_events.triggerEvent(i, m_serverCollectionController); } } m_read = true; }
void plugin::requestProperties(int sessionid) { Q_UNUSED(sessionid); changeProperty(ServiceData::createModelReset("udpio.sensor", "sensorid").getData()); if (m_read) { ServiceData sc = ServiceData::createModelChangeItem("udpio.sensor"); for (int id=0;id<m_sensors.size();++id) { sc.setData("sensorid", id); sc.setData("value", m_sensors[id]); changeProperty(sc.getData()); } } return l; }
void plugin::requestProperties(int sessionid) { Q_UNUSED(sessionid); { ServiceData sc = ServiceData::createNotification(PLUGIN_ID, "pulse.version" ); sc.setData("protocol", getProtocolVersion()); sc.setData("server", getServerVersion()); changeProperty(sc.getData()); } { ServiceData sc = ServiceData::createModelReset( "pulse.channels", "sinkid" ); changeProperty(sc.getData()); } QList<PulseChannel> channels = getAllChannels(); foreach(PulseChannel channel, channels) { ServiceData sc = ServiceData::createModelChangeItem( "pulse.channels" ); sc.setData("sinkid", channel.sinkid); sc.setData("mute", channel.mute); sc.setData("volume", channel.volume); changeProperty(sc.getData()); }