// set a notifier on a particular output, or globally if nullptr /*------------------------------------------------- * output_set_notifier - sets a notifier callback * for a particular output, or for all outputs * if nullptr is specified * -------------------------------------------------*/ public void set_notifier(string outname, output_notifier_func callback, object param) //void *param) { // if an item is specified, find/create it if (outname != null) { output_item item = find_item(outname); if (item != null) { item.set_notifier(callback, param); } else { create_new_item(outname, 0).set_notifier(callback, param); // (item ? *item : create_new_item(outname, 0)).set_notifier(callback, param); } } else { m_global_notifylist.emplace_back(new output_notify(callback, param)); } }
object m_param; //void * m_param; // parameter to pass the callback public output_notify(output_notifier_func callback, object param) // void *param) { m_notifier = callback; m_param = param; }
public void set_notifier(output_notifier_func callback, object param) { m_notifylist.emplace_back(new output_notify(callback, param)); }