@@ -10,17 +10,17 @@ namespace signalr
1010{
1111 // dtor_clear_arguments will be passed when closing any pending callbacks when the `callback_manager` is
1212 // destroyed (i.e. in the dtor)
13- callback_manager::callback_manager (const signalr::value& dtor_clear_arguments)
13+ callback_manager::callback_manager (const char * dtor_clear_arguments)
1414 : m_dtor_clear_arguments(dtor_clear_arguments)
1515 { }
1616
1717 callback_manager::~callback_manager ()
1818 {
19- clear (m_dtor_clear_arguments);
19+ clear (m_dtor_clear_arguments. data () );
2020 }
2121
2222 // note: callback must not throw except for the `on_progress` callback which will never be invoked from the dtor
23- std::string callback_manager::register_callback (const std::function<void (const signalr::value&)>& callback)
23+ std::string callback_manager::register_callback (const std::function<void (const char *, const signalr::value&)>& callback)
2424 {
2525 auto callback_id = get_callback_id ();
2626
@@ -35,9 +35,9 @@ namespace signalr
3535
3636
3737 // invokes a callback and stops tracking it if remove callback set to true
38- bool callback_manager::invoke_callback (const std::string& callback_id, const signalr::value& arguments, bool remove_callback)
38+ bool callback_manager::invoke_callback (const std::string& callback_id, const char * error, const signalr::value& arguments, bool remove_callback)
3939 {
40- std::function<void (const signalr::value& arguments)> callback;
40+ std::function<void (const char *, const signalr::value& arguments)> callback;
4141
4242 {
4343 std::lock_guard<std::mutex> lock (m_map_lock);
@@ -56,7 +56,7 @@ namespace signalr
5656 }
5757 }
5858
59- callback (arguments);
59+ callback (error, arguments);
6060 return true ;
6161 }
6262
@@ -69,14 +69,14 @@ namespace signalr
6969 }
7070 }
7171
72- void callback_manager::clear (const signalr::value& arguments )
72+ void callback_manager::clear (const char * error )
7373 {
7474 {
7575 std::lock_guard<std::mutex> lock (m_map_lock);
7676
7777 for (auto & kvp : m_callbacks)
7878 {
79- kvp.second (arguments );
79+ kvp.second (error, signalr::value () );
8080 }
8181
8282 m_callbacks.clear ();
0 commit comments