@@ -818,6 +818,8 @@ static struct {
818
818
struct arg_str * service ;
819
819
struct arg_str * proto ;
820
820
struct arg_str * instance ;
821
+ struct arg_str * host ;
822
+ struct arg_str * old_instance ;
821
823
struct arg_end * end ;
822
824
} mdns_service_instance_set_args ;
823
825
@@ -833,8 +835,20 @@ static int cmd_mdns_service_instance_set(int argc, char **argv)
833
835
printf ("ERROR: Bad arguments!\n" );
834
836
return 1 ;
835
837
}
838
+ const char * host = NULL ;
839
+ if (mdns_service_instance_set_args .host -> count && mdns_service_instance_set_args .host -> sval [0 ]) {
840
+ host = mdns_service_instance_set_args .host -> sval [0 ];
841
+ }
842
+ const char * old_instance = NULL ;
843
+ if (mdns_service_instance_set_args .old_instance -> count && mdns_service_instance_set_args .old_instance -> sval [0 ]) {
844
+ old_instance = mdns_service_instance_set_args .old_instance -> sval [0 ];
845
+ }
846
+ esp_err_t err = mdns_service_instance_name_set_for_host (old_instance , mdns_service_instance_set_args .service -> sval [0 ], mdns_service_instance_set_args .proto -> sval [0 ], host , mdns_service_instance_set_args .instance -> sval [0 ]);
847
+ if (err != ESP_OK ) {
848
+ printf ("mdns_service_instance_name_set_for_host() failed with %s\n" , esp_err_to_name (err ));
849
+ return 1 ;
850
+ }
836
851
837
- ESP_ERROR_CHECK ( mdns_service_instance_name_set (mdns_service_instance_set_args .service -> sval [0 ], mdns_service_instance_set_args .proto -> sval [0 ], mdns_service_instance_set_args .instance -> sval [0 ]) );
838
852
return 0 ;
839
853
}
840
854
@@ -843,7 +857,9 @@ static void register_mdns_service_instance_set(void)
843
857
mdns_service_instance_set_args .service = arg_str1 (NULL , NULL , "<service>" , "MDNS Service" );
844
858
mdns_service_instance_set_args .proto = arg_str1 (NULL , NULL , "<proto>" , "IP Protocol" );
845
859
mdns_service_instance_set_args .instance = arg_str1 (NULL , NULL , "<instance>" , "Instance name" );
846
- mdns_service_instance_set_args .end = arg_end (2 );
860
+ mdns_service_instance_set_args .host = arg_str0 ("h" , "host" , "<hostname>" , "Service for this (delegated) host" );
861
+ mdns_service_instance_set_args .old_instance = arg_str0 ("i" , "old_instance" , "<old_instance>" , "Instance name before update" );
862
+ mdns_service_instance_set_args .end = arg_end (4 );
847
863
848
864
const esp_console_cmd_t cmd_add = {
849
865
.command = "mdns_service_instance_set" ,
0 commit comments