Changeset 5739:2a1671d592b9 in roaraudio
- Timestamp:
- 11/09/12 01:09:22 (11 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/roard/protocol-esound.c
r5640 r5739 28 28 #ifndef ROAR_WITHOUT_DCOMP_EMUL_ESD 29 29 #ifdef ROAR_HAVE_H_ESD 30 #include <esd.h> 31 32 33 struct emul_esd_command { 34 int cmd; 35 size_t datalen; 36 #if !defined(ROAR_TARGET_MICROCONTROLLER) && !defined(ROAR_MINIMAL) 37 char name[COMMAND_MAX_NAMELEN]; 38 #else 39 char * name; 40 #endif 41 int (*handler)(int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 42 }; 43 44 static int emul_esd_exec_command (int client, int cmd, struct roar_vio_calls * vio); 45 static int emul_esd_check_client (int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara); 46 47 static int emul_esd_int_read_buf (int client, int * data, void * buf); 48 static int emul_esd_int_read (int client, int * data, struct roar_vio_calls * vio); 49 static int emul_esd_int_write (int client, int data, struct roar_vio_calls * vio); 50 static int emul_esd_test_auth (int client, void * data, struct roar_vio_calls * vio); 51 static int emul_esd_test_byteorder(int client, void * data); 52 53 static int emul_esd_on_connect (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 54 static int emul_esd_on_stream (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 55 static int emul_esd_on_latency (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 56 static int emul_esd_on_standby (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 57 static int emul_esd_on_standbymode(int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 58 59 static int emul_esd_on_stream_pan (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 60 61 static int emul_esd_on_server_info(int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 62 63 static int emul_esd_on_all_info (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 64 65 30 66 31 67 #if !defined(ROAR_TARGET_MICROCONTROLLER) && !defined(ROAR_MINIMAL) … … 45 81 #define _ESD2ROAR(x) ((x)-1) 46 82 47 st ruct emul_esd_command g_emul_esd_commands[] = {83 static struct emul_esd_command g_emul_esd_commands[] = { 48 84 {ESD_PROTO_CONNECT, ESD_KEY_LEN + _INTSIZE, _NAME("CONNECT"), emul_esd_on_connect}, 49 85 {ESD_PROTO_LOCK, ESD_KEY_LEN + _INTSIZE, _NAME("LOCK"), NULL}, … … 75 111 76 112 // command handling: 77 int emul_esd_exec_command(int client, int cmd, struct roar_vio_calls * vio) {113 static int emul_esd_exec_command(int client, int cmd, struct roar_vio_calls * vio) { 78 114 struct emul_esd_command * cur; 79 115 void * data = NULL; … … 95 131 if ( (data = roar_mm_malloc(cur->datalen)) == NULL ) { 96 132 // we will do a protocol error in case we do not drop the client 97 clients_delete(client);98 133 return -1; 99 134 } … … 104 139 if ( ret < 1 ) { 105 140 roar_mm_free(data); 106 clients_delete(client);107 141 return -1; 108 142 } else { … … 116 150 client, cur->name, cmd, vio 117 151 ); 118 clients_delete(client);119 152 r = -1; 120 153 } else { … … 132 165 } 133 166 134 int emul_esd_check_client(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 135 struct roar_vio_calls calls; 167 static int emul_esd_set_proto(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 168 if ( emul_esd_exec_command(client, ESD_PROTO_CONNECT, vio) == -1 ) 169 return -1; 170 171 return 0; 172 } 173 174 static int emul_esd_check_client(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 136 175 _cmd_t cmd; 137 176 138 177 if ( client == -1 ) 139 178 return -1; 140 141 if ( vio == NULL ) {142 vio = &calls;143 if ( roar_vio_open_fh_socket(vio, clients_get_fh(client)) == -1 )144 return -1;145 }146 179 147 180 if ( roar_vio_read(vio, &cmd, _INTSIZE) != _INTSIZE ) { 148 181 // really bad protocol error 149 clients_delete(client);150 182 return -1; 151 183 } … … 167 199 return 0; 168 200 } 169 int emul_esd_int_read (int client, int * data, struct roar_vio_calls * vio) {201 static int emul_esd_int_read (int client, int * data, struct roar_vio_calls * vio) { 170 202 _cmd_t d; 171 203 … … 181 213 } 182 214 183 int emul_esd_int_write (int client, int data, struct roar_vio_calls * vio) {215 static int emul_esd_int_write (int client, int data, struct roar_vio_calls * vio) { 184 216 _cmd_t d = data; 185 217 … … 187 219 } 188 220 189 int emul_esd_test_auth (int client, void * data, struct roar_vio_calls * vio) {221 static int emul_esd_test_auth (int client, void * data, struct roar_vio_calls * vio) { 190 222 // accept all clients for the moment. 191 223 return emul_esd_int_write(client, 1, vio); 192 224 } 193 225 194 int emul_esd_test_byteorder(int client, void * data) {226 static int emul_esd_test_byteorder(int client, void * data) { 195 227 struct roar_client * c; 196 228 … … 214 246 215 247 // handler: 216 int emul_esd_on_connect (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) {248 static int emul_esd_on_connect (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) { 217 249 218 250 ROAR_DBG("emul_esd_on_connect(client=%i, cmd=%p, data=%p, vio=%p) = ?", client, cmd, data, vio); … … 236 268 } 237 269 238 int emul_esd_on_stream (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) {270 static int emul_esd_on_stream (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) { 239 271 struct roar_stream_server * ss; 240 272 struct roar_stream * s; … … 254 286 case ESD_PROTO_STREAM_FILT: dir = ROAR_DIR_FILTER; break; 255 287 default: 256 clients_delete(client);257 288 return -1; 258 289 } … … 264 295 ROAR_DBG("emul_esd_on_stream(client=%i, ...): creating stream...", client); 265 296 if ((stream = streams_new()) == -1 ) { 266 clients_delete(client);267 297 return -1; 268 298 } … … 271 301 if ( streams_get(stream, &ss) == -1 ) { 272 302 streams_delete(stream); 273 clients_delete(client);274 303 return -1; 275 304 } … … 280 309 if ( client_stream_add(client, stream) == -1 ) { 281 310 streams_delete(stream); 282 clients_delete(client);283 311 return -1; 284 312 } … … 299 327 default: 300 328 streams_delete(stream); 301 clients_delete(client);302 329 return -1; 303 330 } … … 308 335 default: 309 336 streams_delete(stream); 310 clients_delete(client);311 337 return -1; 312 338 } … … 317 343 318 344 if ( streams_set_dir(stream, dir, 1) == -1 ) { 319 clients_delete(client);320 345 return -1; 321 346 } 322 347 323 348 if ( client_stream_exec(client, stream) == -1 ) { 324 clients_delete(client); 325 return -1; 326 } 327 328 return 0; 329 } 330 331 int emul_esd_on_latency (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) { 349 return -1; 350 } 351 352 return 0; 353 } 354 355 static int emul_esd_on_latency (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) { 332 356 int lag = ROAR_OUTPUT_CFREQ; 333 357 … … 337 361 } 338 362 339 int emul_esd_on_standby (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) {363 static int emul_esd_on_standby (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) { 340 364 int ok = 0; 341 365 … … 356 380 } 357 381 358 int emul_esd_on_standbymode(int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) {382 static int emul_esd_on_standbymode(int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) { 359 383 int mode = ESM_ERROR; 360 384 … … 372 396 } 373 397 374 int emul_esd_on_stream_pan (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) {398 static int emul_esd_on_stream_pan (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) { 375 399 struct roar_stream_server * ss; 376 400 int stream = -1; … … 395 419 } 396 420 397 int emul_esd_on_server_info(int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) {421 static int emul_esd_on_server_info(int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) { 398 422 int version = 0; 399 423 int rate = g_sa->rate; … … 422 446 } 423 447 424 int emul_esd_on_all_info (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) {448 static int emul_esd_on_all_info (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio) { 425 449 struct roar_stream_server * ss; 426 450 struct roar_audio_info * info; … … 532 556 } 533 557 558 struct roar_dl_proto __proto_common_esd = { 559 .proto = ROAR_PROTO_ESOUND, 560 .description = "EsounD emulation", 561 .flags = ROAR_DL_PROTO_FLAGS_NONE, 562 .set_proto = emul_esd_set_proto, 563 .handle = emul_esd_check_client 564 }; 565 534 566 #endif 535 567 #endif -
plugins/roard/protocol-gopher.c
r5640 r5739 631 631 } 632 632 633 int emul_gopher_check_client(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) {633 static int emul_gopher_check_client(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 634 634 struct roar_client_server * cs; 635 struct roar_vio_calls rvio;636 635 struct item * c = NULL; 637 636 char inbuf[1024]; … … 646 645 647 646 if ( clients_get_server(client, &cs) == -1 ) { 648 clients_delete(client);649 647 return -1; 650 648 } 651 649 652 650 ROAR_DBG("emul_gopher_check_client(client=%i, vio=%p) = ?", client, vio); 653 654 if ( vio == NULL ) {655 vio = &rvio;656 roar_vio_open_fh_socket(vio, clients_get_fh(client));657 }658 651 659 652 ROAR_DBG("emul_gopher_check_client(client=%i, vio=%p) = ?", client, vio); … … 662 655 len = sizeof(inbuf)-1; 663 656 if ( roar_buffer_shift_out(&(cs->inbuf), inbuf, &len) == -1 ) { 664 clients_delete(client);665 657 return -1; 666 658 } … … 668 660 if ( cs->inbuf != NULL ) { 669 661 roar_buffer_free(cs->inbuf); 670 clients_delete(client);671 662 return -1; 672 663 } … … 674 665 // test if we have still buffer space left. 675 666 if ( len == (sizeof(inbuf)-1) ) { 676 clients_delete(client);677 667 return -1; 678 668 } … … 683 673 ret = roar_vio_read(vio, inbuf+len, sizeof(inbuf)-len-1); 684 674 if ( ret < 1 ) { 685 clients_delete(client);686 675 ROAR_DBG("emul_gopher_check_client(client=%i, vio=%p) = -1", client, vio); 687 676 return -1; … … 696 685 if ( !strip_nl(inbuf) ) { 697 686 if ( roar_buffer_new_data(&(cs->inbuf), ret, &data) == -1 ) { 698 clients_delete(client);699 687 ROAR_DBG("emul_gopher_check_client(client=%i, vio=%p) = -1", client, vio); 700 688 return -1; … … 719 707 720 708 if ( c == NULL ) { 721 clients_delete(client);722 709 ROAR_DBG("emul_gopher_check_client(client=%i, vio=%p) = -1", client, vio); 723 710 return -1; … … 752 739 753 740 if ( funcret == -1 ) { 754 clients_delete(client);755 741 ROAR_DBG("emul_gopher_check_client(client=%i, vio=%p) = -1", client, vio); 756 742 return -1; … … 762 748 } 763 749 764 int emul_gopher_flushed_client(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) {750 static int emul_gopher_flushed_client(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 765 751 ROAR_DBG("emul_gopher_flushed_client(client=%i, vio=%p) = ?", client, vio); 766 752 767 return clients_delete(client); 768 } 753 return -1; 754 } 755 756 struct roar_dl_proto __proto_common_gopher = { 757 .proto = ROAR_PROTO_GOPHER, 758 .description = "The Internet Gopher Protocol", 759 .flags = ROAR_DL_PROTO_FLAGS_NONE, 760 .handle = emul_gopher_check_client, 761 .flushed = emul_gopher_flushed_client 762 }; 769 763 770 764 #endif -
plugins/roard/protocol-rplay.c
r5640 r5739 28 28 #ifndef ROAR_WITHOUT_DCOMP_EMUL_RPLAY 29 29 30 struct emul_rplay_command emul_rplay_commands[] = { 30 struct emul_rplay_command { 31 const char * name; 32 const char * usage; 33 ssize_t min_args; 34 ssize_t max_args; 35 int (*handler)(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 36 }; 37 38 static int emul_rplay_exec_command (int client, struct roar_vio_calls * vio, char * command); 39 40 static int emul_rplay_send_error (int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen, const char * msg); 41 42 static int emul_rplay_on_status(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 43 static int emul_rplay_on_quit(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 44 static int emul_rplay_on_help(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 45 46 // things we need to implent soon: 47 static int emul_rplay_on_play(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 48 static int emul_rplay_on_put(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 49 //static int emul_rplay_on_set(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 50 //static int emul_rplay_on_modify(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 51 static int emul_rplay_on_pause(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 52 static int emul_rplay_on_continue(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 53 //static int emul_rplay_on_stop(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 54 55 static struct emul_rplay_command emul_rplay_commands[] = { 31 56 {"access", NULL, -1, -1, NULL}, 32 57 {"application", NULL, 1, -1, NULL}, … … 111 136 } 112 137 113 int emul_rplay_check_client (int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 114 struct roar_vio_calls calls; 138 static int emul_rplay_set_proto (int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 139 if ( emul_rplay_on_status(client, NULL, vio, NULL, 0) == -1 ) 140 return -1; 141 142 return 0; 143 } 144 145 static int emul_rplay_check_client (int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara) { 115 146 char buf[1024]; 116 147 ssize_t len; … … 119 150 return -1; 120 151 121 if ( vio == NULL ) {122 vio = &calls;123 if ( roar_vio_open_fh_socket(vio, clients_get_fh(client)) == -1 )124 return -1;125 }126 127 152 if ( (len = roar_vio_read(vio, buf, sizeof(buf)-1)) <= 0 ) { 128 153 // really bad protocol error 129 clients_delete(client);130 154 return -1; 131 155 } … … 256 280 257 281 258 int emul_rplay_on_quit(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 259 clients_delete(client); 282 static int emul_rplay_on_quit(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 260 283 return -1; 261 284 } 262 285 263 int emul_rplay_on_help(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) {286 static int emul_rplay_on_help(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 264 287 struct emul_rplay_command * c; 265 288 … … 276 299 277 300 278 int emul_rplay_on_play(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) {301 static int emul_rplay_on_play(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 279 302 struct roar_keyval * kvr, * rate, * bits, * channels, * format, * byteorder; 280 303 struct roar_audio_info info; … … 370 393 } 371 394 372 int emul_rplay_on_put(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) {395 static int emul_rplay_on_put(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 373 396 struct roar_keyval * kvr; 374 397 int stream; … … 418 441 } 419 442 420 int emul_rplay_on_set(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen);421 int emul_rplay_on_modify(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen);422 423 int emul_rplay_on_pause(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) {443 //static int emul_rplay_on_set(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 444 //static int emul_rplay_on_modify(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 445 446 static int emul_rplay_on_pause(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 424 447 struct roar_keyval * kvr; 425 448 int stream; … … 450 473 } 451 474 452 int emul_rplay_on_continue(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) {475 static int emul_rplay_on_continue(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen) { 453 476 struct roar_keyval * kvr; 454 477 int stream; … … 479 502 } 480 503 481 int emul_rplay_on_stop(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 504 //static int emul_rplay_on_stop(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 505 506 struct roar_dl_proto __proto_common_rplay = { 507 .proto = ROAR_PROTO_RPLAY, 508 .description = "RPlay emulation", 509 .flags = ROAR_DL_PROTO_FLAGS_NONE, 510 .set_proto = emul_rplay_set_proto, 511 .handle = emul_rplay_check_client 512 }; 482 513 483 514 #endif -
roard/clients.c
r5654 r5739 33 33 struct roar_client_server * g_clients[ROAR_CLIENTS_MAX]; 34 34 35 static struct roar_dl_proto 36 #if !defined(ROAR_WITHOUT_DCOMP_EMUL_ESD) && defined(ROAR_HAVE_H_ESD) 37 __proto_common_esd = { 38 .proto = ROAR_PROTO_ESOUND, 39 .description = "EsounD emulation", 40 .flags = ROAR_DL_PROTO_FLAGS_NONE, 41 .handle = emul_esd_check_client 42 }, 43 #endif 44 #ifndef ROAR_WITHOUT_DCOMP_EMUL_RPLAY 45 __proto_common_rplay = { 46 .proto = ROAR_PROTO_RPLAY, 47 .description = "RPlay emulation", 48 .flags = ROAR_DL_PROTO_FLAGS_NONE, 49 .handle = emul_rplay_check_client 50 }, 51 #endif 52 #ifndef ROAR_WITHOUT_DCOMP_EMUL_GOPHER 53 __proto_common_gopher = { 54 .proto = ROAR_PROTO_GOPHER, 55 .description = "The Internet Gopher Protocol", 56 .flags = ROAR_DL_PROTO_FLAGS_NONE, 57 .handle = emul_gopher_check_client, 58 .flushed = emul_gopher_flushed_client 59 } 60 #endif 61 ; 35 extern struct roar_dl_proto __proto_common_rplay; 36 extern struct roar_dl_proto __proto_common_gopher; 37 extern struct roar_dl_proto __proto_common_esd; 62 38 63 39 static struct roard_proto_handle __protos[MAX_PROTOS] = { … … 252 228 // nothing needed to be done here 253 229 break; 254 #ifndef ROAR_WITHOUT_DCOMP_EMUL_ESD255 #ifdef ROAR_HAVE_H_ESD256 case ROAR_PROTO_ESOUND:257 ROAR_DBG("net_get_new_client(*): execing ESD CONNECT command");258 259 if ( roar_vio_open_fh_socket(&vio, fh) == -1 )260 return -1;261 262 ROAR_DBG("net_get_new_client(*): creating VIO OK");263 264 if ( emul_esd_exec_command(client, ESD_PROTO_CONNECT, &vio) == -1 )265 return -1;266 267 ROAR_DBG("net_get_new_client(*): CONNECT execed sucessfully");268 break;269 #endif270 #endif271 230 #ifndef ROAR_WITHOUT_DCOMP_EMUL_SIMPLE 272 231 case ROAR_PROTO_SIMPLE: … … 277 236 #ifndef ROAR_WITHOUT_DCOMP_EMUL_RSOUND 278 237 case ROAR_PROTO_RSOUND: // nothing to do here. 279 break;280 #endif281 #ifndef ROAR_WITHOUT_DCOMP_EMUL_RPLAY282 case ROAR_PROTO_RPLAY:283 if ( roar_vio_open_fh_socket(&vio, fh) == -1 )284 return -1;285 286 if ( emul_rplay_on_status(client, NULL, &vio, NULL, 0) == -1 )287 return -1;288 238 break; 289 239 #endif -
roard/include/emul_esd.h.OLD
r5640 r5739 32 32 #ifdef ROAR_HAVE_H_ESD 33 33 34 // in case it is not allready included, 35 // only needed in the case we have no libesd.* but a esd.h 36 #include <esd.h> 37 38 struct emul_esd_command { 39 int cmd; 40 size_t datalen; 41 #if !defined(ROAR_TARGET_MICROCONTROLLER) && !defined(ROAR_MINIMAL) 42 char name[COMMAND_MAX_NAMELEN]; 43 #else 44 char * name; 45 #endif 46 int (*handler)(int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 47 }; 48 49 int emul_esd_exec_command (int client, int cmd, struct roar_vio_calls * vio); 50 int emul_esd_check_client (int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara); 51 52 int emul_esd_int_read_buf (int client, int * data, void * buf); 53 int emul_esd_int_read (int client, int * data, struct roar_vio_calls * vio); 54 int emul_esd_int_write (int client, int data, struct roar_vio_calls * vio); 55 int emul_esd_test_auth (int client, void * data, struct roar_vio_calls * vio); 56 int emul_esd_test_byteorder(int client, void * data); 57 58 int emul_esd_on_connect (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 59 int emul_esd_on_stream (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 60 int emul_esd_on_latency (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 61 int emul_esd_on_standby (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 62 int emul_esd_on_standbymode(int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 63 64 int emul_esd_on_stream_pan (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 65 66 int emul_esd_on_server_info(int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 67 68 int emul_esd_on_all_info (int client, struct emul_esd_command * cmd, void * data, struct roar_vio_calls * vio); 34 extern struct roar_dl_proto __proto_common_esd; 69 35 70 36 #endif -
roard/include/emul_gopher.h.OLD
r5640 r5739 29 29 #include <roaraudio.h> 30 30 31 int emul_gopher_check_client(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara); 32 int emul_gopher_flushed_client(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara); 31 extern struct roar_dl_proto __proto_common_gopher; 33 32 34 33 #endif -
roard/include/emul_rplay.h.OLD
r5640 r5739 29 29 #include <roaraudio.h> 30 30 31 #ifndef ROAR_WITHOUT_DCOMP_EMUL_RPLAY 32 33 struct emul_rplay_command { 34 const char * name; 35 const char * usage; 36 ssize_t min_args; 37 ssize_t max_args; 38 int (*handler)(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 39 }; 40 41 int emul_rplay_check_client (int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * protopara, ssize_t protoparalen, struct roar_dl_librarypara * pluginpara); 42 43 int emul_rplay_exec_command (int client, struct roar_vio_calls * vio, char * command); 44 45 int emul_rplay_send_error (int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen, const char * msg); 46 47 int emul_rplay_on_status(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 48 int emul_rplay_on_quit(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 49 int emul_rplay_on_help(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 50 51 // things we need to implent soon: 52 int emul_rplay_on_play(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 53 int emul_rplay_on_put(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 54 int emul_rplay_on_set(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 55 int emul_rplay_on_modify(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 56 int emul_rplay_on_pause(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 57 int emul_rplay_on_continue(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 58 int emul_rplay_on_stop(int client, struct emul_rplay_command * cmd, struct roar_vio_calls * vio, struct roar_keyval * kv, size_t kvlen); 59 #endif 31 extern struct roar_dl_proto __proto_common_rplay; 60 32 61 33 #endif
Note: See TracChangeset
for help on using the changeset viewer.