예제 #1
0
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" ));
        }
    }
}
예제 #2
0
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;
}
예제 #3
0
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 );
}