@@ -52,6 +52,7 @@ static pid_t recv_thread_id = -1;
5252typedef struct {
5353 GgIpcSubscribeCallback * fn ;
5454 void * ctx ;
55+ void * aux_ctx ;
5556} StreamHandler ;
5657
5758static_assert (
@@ -444,6 +445,7 @@ typedef struct {
444445 void * response_ctx ;
445446 GgIpcSubscribeCallback * sub_callback ;
446447 void * sub_callback_ctx ;
448+ void * sub_callback_aux_ctx ;
447449} ResponseHandlerCtx ;
448450
449451// Must hold stream_state_mtx
@@ -482,6 +484,7 @@ static void response_handler(
482484 (StreamHandler ) {
483485 .fn = call_ctx -> sub_callback ,
484486 .ctx = call_ctx -> sub_callback_ctx ,
487+ .aux_ctx = call_ctx -> sub_callback_aux_ctx ,
485488 }
486489 );
487490 }
@@ -508,6 +511,7 @@ GglError ggipc_call(
508511 response_ctx ,
509512 NULL ,
510513 NULL ,
514+ NULL ,
511515 NULL
512516 );
513517}
@@ -521,6 +525,7 @@ GglError ggipc_subscribe(
521525 void * response_ctx ,
522526 GgIpcSubscribeCallback * sub_callback ,
523527 void * sub_callback_ctx ,
528+ void * sub_callback_aux_ctx ,
524529 GgIpcSubscriptionHandle * sub_handle
525530) {
526531 if (!connected ()) {
@@ -551,6 +556,7 @@ GglError ggipc_subscribe(
551556 .response_ctx = response_ctx ,
552557 .sub_callback = sub_callback ,
553558 .sub_callback_ctx = sub_callback_ctx ,
559+ .sub_callback_aux_ctx = sub_callback_aux_ctx ,
554560 };
555561
556562 uint16_t stream_index ;
@@ -626,6 +632,7 @@ static GglError call_sub_callback(
626632 GgIpcSubscriptionHandle handle ,
627633 GgIpcSubscribeCallback * sub_callback ,
628634 void * sub_callback_ctx ,
635+ void * sub_callback_aux_ctx ,
629636 EventStreamCommonHeaders common_headers ,
630637 EventStreamMessage msg
631638) {
@@ -696,7 +703,11 @@ static GglError call_sub_callback(
696703 }
697704
698705 return sub_callback (
699- sub_callback_ctx , handle , service_model_type , ggl_obj_into_map (response )
706+ sub_callback_ctx ,
707+ sub_callback_aux_ctx ,
708+ handle ,
709+ service_model_type ,
710+ ggl_obj_into_map (response )
700711 );
701712}
702713
@@ -749,6 +760,7 @@ static GglError dispatch_incoming_packet(int conn) {
749760 get_current_handle (index ),
750761 stream_state_handler [index ].fn ,
751762 stream_state_handler [index ].ctx ,
763+ stream_state_handler [index ].aux_ctx ,
752764 common_headers ,
753765 msg
754766 );
0 commit comments