Q_UNUSED(command);
void commandTags( cUOSocket *socket, const QString &command, QStringList &args ){	// Tags set		<key> <value>	(as string/value)	// Tags get		<key>	// Tags remove	<key> or all	// Tags info	if( args.count() == 0 )	{		socket->sysMessage( tr( "Usage: tags <set|get|remove|info>" ) );		return;	}	QString subCommand = args[0].lower();	// set	if( subCommand == "set" )	{		if( args.count() < 3 )		{			socket->sysMessage( tr( "Usage: tags set <key> <value> (as value/string)" ) );		} 		else		{			UINT8 type = 0; // 0 - string, 1 - value			if( args.count() == 5 )			{				if( args[4].lower() == "value" )					type = 1;			}			socket->sysMessage( tr( "Please select a target" ) );			socket->attachTarget( new cSetTagTarget( args[1], args[2], type ) );		}	}	if( subCommand == "get" )	{		if( args.count() < 2 )		{			socket->sysMessage( tr( "Usage tags get <key>" ) );		}		else		{			socket->sysMessage( tr( "Please select a target" ) );			socket->attachTarget( new cGetTagTarget( args[1] ) );		}	}	if( subCommand == "remove" )	{		if( args.count() < 2 )		{			socket->sysMessage( tr( "Usage tags remove <key>" ) );		}		else		{			socket->sysMessage( tr( "Please select a target" ) );			socket->attachTarget( new cRemoveTagTarget( args[1] ) );		}	}	if( subCommand == "info" )	{		socket->sysMessage( tr( "Please select a target" ) );		socket->attachTarget( new cTagsInfoTarget() );	}}