Changeset 5606:f7617b41972e in roaraudio
- Timestamp:
- 07/31/12 02:33:55 (12 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
ChangeLog
r5604 r5606 17 17 * Added roar_buffer_moveintoqueue() (Closes: #283) (pr1) 18 18 * Typo corrections (Closes: #282) (pr1) 19 * Updated common protocol interface (Closes: #257, #256) (pr1) 19 20 20 21 v. 1.0beta3 - Sun Jul 15 2012 26:08 CEST -
include/libroar/roardl.h
r5582 r5606 332 332 struct roar_dl_lhandle * lhandle // The registering handle. 333 333 // This is valid until the object is unregistered. 334 // Only roar_dl_context_restore() androar_dl_context_store()335 // may be used on this object. Result of all other functions336 // is undefined.334 // Only roar_dl_context_restore(), roar_dl_context_store() 335 // and roar_dl_getpara() may be used on this object. 336 // Result of all other functions is undefined. 337 337 ); 338 338 void * userdata; // The user data pointer passed to the callback. … … 350 350 const char * description; 351 351 const int flags; 352 int (*set_proto)(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen);353 int (*unset_proto)(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen);354 int (*handle)(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen);355 int (*flush)(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen);356 int (*flushed)(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen);357 int (*status)(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen);352 int (*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); 353 int (*unset_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); 354 int (*handle)(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); 355 int (*flush)(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); 356 int (*flushed)(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); 357 int (*status)(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); 358 358 }; 359 359 -
plugins/universal/protocol-daytime.c
r5605 r5606 26 26 #include <roaraudio.h> 27 27 28 static int _set_proto(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen) {28 static int _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) { 29 29 struct roar_buffer * buf; 30 30 void * data; … … 33 33 char * date = asctime(gmtime(&now)); 34 34 35 (void)client, (void)vio, (void)userdata, (void)p ara, (void)paralen;35 (void)client, (void)vio, (void)userdata, (void)protopara, (void)protoparalen, (void)pluginpara; 36 36 37 37 len = roar_mm_strlen(date) + 1; … … 48 48 } 49 49 50 static int _flushed(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen) {51 (void)client, (void)vio, (void)obuffer, (void)userdata, (void)p ara, (void)paralen;50 static int _flushed(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 (void)client, (void)vio, (void)obuffer, (void)userdata, (void)protopara, (void)protoparalen, (void)pluginpara; 52 52 53 53 roar_err_set(ROAR_ERROR_NODATA); -
plugins/universal/protocol-discard.c
r5605 r5606 26 26 #include <roaraudio.h> 27 27 28 static int _handle(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen) {28 static int _handle(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) { 29 29 char buf[4096]; 30 30 31 (void)client, (void)obuffer, (void)userdata, (void)p ara, (void)paralen;31 (void)client, (void)obuffer, (void)userdata, (void)protopara, (void)protoparalen, (void)pluginpara; 32 32 33 33 if ( roar_vio_read(vio, buf, sizeof(buf)) < 1 ) { -
plugins/universal/protocol-echo.c
r5605 r5606 26 26 #include <roaraudio.h> 27 27 28 static int _handle(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen) {28 static int _handle(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) { 29 29 struct roar_buffer * buf; 30 30 void * data; 31 31 ssize_t len; 32 32 33 (void)client, (void)userdata, (void)p ara, (void)paralen;33 (void)client, (void)userdata, (void)protopara, (void)protoparalen, (void)pluginpara; 34 34 35 35 ROAR_DBG("_handle(client=%i, vio=%p) = ?", client, vio); -
plugins/universal/tic-tac-toe.c
r5603 r5606 253 253 } 254 254 255 static int _set_proto(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen) {255 static int _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) { 256 256 game_state * state; 257 257 258 (void)client, (void)vio, (void)obuffer, (void)p ara, (void)paralen;258 (void)client, (void)vio, (void)obuffer, (void)protopara, (void)protoparalen, (void)pluginpara; 259 259 260 260 state = roar_mm_malloc(sizeof(game_state)); … … 301 301 } 302 302 303 static int _handle(int client, struct roar_vio_calls * vio, struct roar_buffer ** obuffer, void ** userdata, const struct roar_keyval * p ara, ssize_t paralen) {303 static int _handle(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) { 304 304 char buf[32]; 305 305 ssize_t len; … … 310 310 char c; 311 311 312 (void)client, (void)obuffer, (void)p ara, (void)paralen;312 (void)client, (void)obuffer, (void)protopara, (void)protoparalen, (void)pluginpara; 313 313 314 314 ROAR_DBG("check_client(client=%i, vio=%p) = ?", client, vio); -
roard/clients.c
r5590 r5606 143 143 struct roard_listen * lsock, struct sockaddr * sockaddr, socklen_t addrlen) { 144 144 const struct roard_proto_handle * protohandle; 145 struct roar_dl_librarypara * pluginpara; 145 146 struct roar_vio_calls vio; 146 147 struct roar_client_server * cs; … … 287 288 supported = 1; 288 289 if ( protohandle->impl.common->set_proto != NULL ) { 289 if ( protohandle->impl.common->set_proto(client, &vio, &(cs->outbuf), &(cs->protoinst), protohandle->para, protohandle->paralen) == -1 ) { 290 pluginpara = roar_dl_getpara(protohandle->lhandle); // will return NULL in case protohandle->lhandle is NULL. 291 if ( protohandle->impl.common->set_proto(client, &vio, &(cs->outbuf), &(cs->protoinst), protohandle->para, protohandle->paralen, pluginpara) == -1 ) { 290 292 supported = 0; 291 293 } 294 if ( pluginpara != NULL ) 295 roar_dl_para_unref(pluginpara); 292 296 } 293 297 break; … … 312 316 struct roar_client_server * cs; 313 317 const struct roard_proto_handle * proto; 318 struct roar_dl_librarypara * pluginpara; 314 319 struct roar_vio_calls vio; 315 320 int i; … … 337 342 if ( proto->impl.common->unset_proto != NULL ) { 338 343 roar_vio_open_fh_socket(&vio, clients_get_fh(id)); 339 proto->impl.common->unset_proto(id, &vio, &(cs->outbuf), &(cs->protoinst), proto->para, proto->paralen); 344 pluginpara = roar_dl_getpara(proto->lhandle); // will return NULL in case protohandle->lhandle is NULL. 345 proto->impl.common->unset_proto(id, &vio, &(cs->outbuf), &(cs->protoinst), proto->para, proto->paralen, pluginpara); 346 if ( pluginpara != NULL ) 347 roar_dl_para_unref(pluginpara); 340 348 } 341 349 break; … … 723 731 struct roar_error_state errstate; 724 732 const struct roard_proto_handle * proto; 733 struct roar_dl_librarypara * pluginpara; 725 734 int command_error; 726 735 char * data = NULL; … … 834 843 break; 835 844 case ROARD_PROTO_TYPE_COMMON: 836 if ( proto->impl.common->handle != NULL ) 837 rv = proto->impl.common->handle(id, &vio, &(cs->outbuf), &(cs->protoinst), proto->para, proto->paralen); 845 if ( proto->impl.common->handle != NULL ) { 846 pluginpara = roar_dl_getpara(proto->lhandle); // will return NULL in case protohandle->lhandle is NULL. 847 rv = proto->impl.common->handle(id, &vio, &(cs->outbuf), &(cs->protoinst), proto->para, proto->paralen, pluginpara); 848 if ( pluginpara != NULL ) 849 roar_dl_para_unref(pluginpara); 850 } 838 851 if ( rv == -1 ) 839 852 rv = clients_delete(id); … … 858 871 struct roar_client * c; 859 872 const struct roard_proto_handle * p; 873 struct roar_dl_librarypara * pluginpara; 860 874 size_t len; 861 875 ssize_t ret; … … 892 906 if ( p->lhandle != NULL ) 893 907 roar_dl_context_restore(p->lhandle); 894 rv = p->impl.common->flush(id, &vio, &(cs->outbuf), &(cs->protoinst), p->para, p->paralen); 908 pluginpara = roar_dl_getpara(p->lhandle); // will return NULL in case protohandle->lhandle is NULL. 909 rv = p->impl.common->flush(id, &vio, &(cs->outbuf), &(cs->protoinst), p->para, p->paralen, pluginpara); 895 910 if ( p->lhandle != NULL ) 896 911 roar_dl_context_store(p->lhandle); 912 if ( pluginpara != NULL ) 913 roar_dl_para_unref(pluginpara); 897 914 if ( rv == -1 ) 898 915 rv = clients_delete(id); … … 946 963 if ( p->lhandle != NULL ) 947 964 roar_dl_context_restore(p->lhandle); 948 rv = p->impl.common->flushed(id, &vio, &(cs->outbuf), &(cs->protoinst), p->para, p->paralen); 965 pluginpara = roar_dl_getpara(p->lhandle); // will return NULL in case protohandle->lhandle is NULL. 966 rv = p->impl.common->flushed(id, &vio, &(cs->outbuf), &(cs->protoinst), p->para, p->paralen, pluginpara); 949 967 if ( p->lhandle != NULL ) 950 968 roar_dl_context_store(p->lhandle); 969 if ( pluginpara != NULL ) 970 roar_dl_para_unref(pluginpara); 951 971 if ( rv == -1 ) 952 972 rv = clients_delete(id);
Note: See TracChangeset
for help on using the changeset viewer.