mirror of
				https://github.com/albfan/miraclecast.git
				synced 2025-03-09 23:38:56 +00:00 
			
		
		
		
	miraclectl: add 'set-link-name' verb
The new set-link-name command allows users to change the friendly-name of a given link. Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
This commit is contained in:
		
							parent
							
								
									a765bd29b8
								
							
						
					
					
						commit
						d26892b61f
					
				
					 1 changed files with 54 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -432,6 +432,58 @@ static int verb_remove_link(sd_bus *bus, char **args, unsigned int n)
 | 
			
		|||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int verb_set_link_name(sd_bus *bus, char **args, unsigned int n)
 | 
			
		||||
{
 | 
			
		||||
	_cleanup_sd_bus_error_ sd_bus_error err = SD_BUS_ERROR_NULL;
 | 
			
		||||
	_cleanup_sd_bus_message_ sd_bus_message *m = NULL;
 | 
			
		||||
	_cleanup_free_ char *path = NULL, *name = NULL;
 | 
			
		||||
	int r;
 | 
			
		||||
 | 
			
		||||
	name = sd_bus_label_escape(args[1]);
 | 
			
		||||
	if (!name)
 | 
			
		||||
		return log_ENOMEM();
 | 
			
		||||
 | 
			
		||||
	path = shl_strcat("/org/freedesktop/miracle/link/", name);
 | 
			
		||||
	if (!path)
 | 
			
		||||
		return log_ENOMEM();
 | 
			
		||||
 | 
			
		||||
	r = sd_bus_message_new_method_call(bus,
 | 
			
		||||
					   "org.freedesktop.miracle",
 | 
			
		||||
					   path,
 | 
			
		||||
					   "org.freedesktop.DBus.Properties",
 | 
			
		||||
					   "Set",
 | 
			
		||||
					   &m);
 | 
			
		||||
	if (r < 0)
 | 
			
		||||
		return log_bus_create(r);
 | 
			
		||||
 | 
			
		||||
	r = sd_bus_message_append(m, "ss",
 | 
			
		||||
				  "org.freedesktop.miracle.Link", "Name");
 | 
			
		||||
	if (r < 0)
 | 
			
		||||
		return log_bus_create(r);
 | 
			
		||||
 | 
			
		||||
	r = sd_bus_message_open_container(m, 'v', "s");
 | 
			
		||||
	if (r < 0)
 | 
			
		||||
		return log_bus_create(r);
 | 
			
		||||
 | 
			
		||||
	r = sd_bus_message_append(m, "s", args[2]);
 | 
			
		||||
	if (r < 0)
 | 
			
		||||
		return log_bus_create(r);
 | 
			
		||||
 | 
			
		||||
	r = sd_bus_message_close_container(m);
 | 
			
		||||
	if (r < 0)
 | 
			
		||||
		return log_bus_create(r);
 | 
			
		||||
 | 
			
		||||
	r = sd_bus_call(bus, m, 0, &err, NULL);
 | 
			
		||||
	if (r < 0) {
 | 
			
		||||
		log_error("cannot set friendly-name to %s on link %s: %s",
 | 
			
		||||
			  args[2], args[1], bus_error_message(&err, r));
 | 
			
		||||
		return r;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	printf("Friendly-name set to %s on link %s\n", args[2], args[1]);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int help(void)
 | 
			
		||||
{
 | 
			
		||||
	printf("%s [OPTIONS...] {COMMAND} ...\n\n"
 | 
			
		||||
| 
						 | 
				
			
			@ -446,6 +498,7 @@ static int help(void)
 | 
			
		|||
	       "  show-link LINK...               Show details of given link\n"
 | 
			
		||||
	       "  add-link LINK...                Start managing the given link\n"
 | 
			
		||||
	       "  remove-link LINK...             Stop managing the given link\n"
 | 
			
		||||
	       "  set-link-name LINK NAME         Set friendly-name of given link\n"
 | 
			
		||||
	       , program_invocation_short_name);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -504,6 +557,7 @@ static int miraclectl_main(sd_bus *bus, int argc, char *argv[])
 | 
			
		|||
		{ "show-link",		EQUAL,	2,	verb_show_link },
 | 
			
		||||
		{ "add-link",		EQUAL,	3,	verb_add_link },
 | 
			
		||||
		{ "remove-link",	EQUAL,	2,	verb_remove_link },
 | 
			
		||||
		{ "set-link-name",	EQUAL,	3,	verb_set_link_name },
 | 
			
		||||
	};
 | 
			
		||||
	int left;
 | 
			
		||||
	unsigned int i;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue