void plugin::execute ( const QVariantMap& data) { Q_UNUSED(sessionid); if ( ServiceData::isMethod(data, "pulsechannelmute" ) ) { set_sink_muted(DATA("sinkid").toUtf8().constData(), INTDATA ( "mute" ) ); } else if ( ServiceData::isMethod(data, "pulsechannelvolume" ) ) { if (BOOLDATA ( "relative" )) { set_sink_volume_relative(DATA("sinkid").toUtf8(), DOUBLEDATA ( "volume" )); } else { set_sink_volume(DATA("sinkid").toUtf8(), DOUBLEDATA ( "volume" )); } } }
bool plugin::condition ( const QVariantMap& data) { Q_UNUSED ( sessionid ); Controller::ledid lid = m_controller->getPortPinFromString( DATA("channel") ); if (lid.port == -1) return false; if ( ServiceData::isMethod(data, "udpio.condition" ) ) { const bool v = m_controller->getChannel ( lid ); if ( v != BOOLDATA("value") ) return false; return true; } return false; }
static int slm_getstats( char *buffer, int device ) { int len = 0, stat, i, w, h; unsigned char buf[256]; stat = slm_mode_sense( device, buf, 0 ); if (IS_REAL_ERROR(stat)) return( -EIO ); #define SHORTDATA(i) ((buf[i] << 8) | buf[i+1]) #define BOOLDATA(i,mask) ((buf[i] & mask) ? "on" : "off") w = SHORTDATA( 3 ); h = SHORTDATA( 1 ); len += sprintf( buffer+len, "Status\t\t%s\n", slm_errstr( stat ) ); len += sprintf( buffer+len, "Page Size\t%dx%d", w, h ); for( i = 0; i < N_STD_SIZES; ++i ) { if (w == StdPageSize[i].w && h == StdPageSize[i].h) break; } if (i < N_STD_SIZES) len += sprintf( buffer+len, " (%s)", StdPageSize[i].name ); buffer[len++] = '\n'; len += sprintf( buffer+len, "Top/Left Margin\t%d/%d\n", SHORTDATA( 5 ), SHORTDATA( 7 ) ); len += sprintf( buffer+len, "Manual Feed\t%s\n", BOOLDATA( 9, 0x01 ) ); len += sprintf( buffer+len, "Input Select\t%d\n", (buf[9] >> 1) & 7 ); len += sprintf( buffer+len, "Auto Select\t%s\n", BOOLDATA( 9, 0x10 ) ); len += sprintf( buffer+len, "Prefeed Paper\t%s\n", BOOLDATA( 9, 0x20 ) ); len += sprintf( buffer+len, "Thick Pixels\t%s\n", BOOLDATA( 9, 0x40 ) ); len += sprintf( buffer+len, "H/V Resol.\t%d/%d dpi\n", SHORTDATA( 12 ), SHORTDATA( 10 ) ); len += sprintf( buffer+len, "System Timeout\t%d\n", buf[14] ); len += sprintf( buffer+len, "Scan Time\t%d\n", SHORTDATA( 15 ) ); len += sprintf( buffer+len, "Page Count\t%d\n", SHORTDATA( 17 ) ); len += sprintf( buffer+len, "In/Out Cap.\t%d/%d\n", SHORTDATA( 19 ), SHORTDATA( 21 ) ); len += sprintf( buffer+len, "Stagger Output\t%s\n", BOOLDATA( 23, 0x01 ) ); len += sprintf( buffer+len, "Output Select\t%d\n", (buf[23] >> 1) & 7 ); len += sprintf( buffer+len, "Duplex Print\t%s\n", BOOLDATA( 23, 0x10 ) ); len += sprintf( buffer+len, "Color Sep.\t%s\n", BOOLDATA( 23, 0x20 ) ); return( len ); }