|Summary:||JingleSession::terminated should use a GError|
|Product:||Wocky||Reporter:||Will Thompson <will>|
|Component:||General||Assignee:||Telepathy bugs list <telepathy-bugs>|
|Status:||NEW ---||QA Contact:||Telepathy bugs list <telepathy-bugs>|
|i915 platform:||i915 features:|
Description Will Thompson 2013-03-20 19:49:11 UTC
Right now, the WockyJingleSession::terminated has three arguments, two of which are a member of the WockyJingleReason enum and a human-readable string. Meanwhile, _on_initiate_reply() passes NULL as the GError parameter for wocky_porter_send_iq_finish() and wocky_stanza_extract_errors(), and ends the session with REASON_UNKNOWN if either of them fails. It would be nice if the application could (optionally) get more details about what happened. So I suggest: * Create a GError domain for WockyJingleReason (not sure what name the quark macro should have. WOCKY_JINGLE_REASON would work but might be confusing since WOCKY_TYPE_JINGLE_REASON also exists but WOCKY_JINGLE_REASON is not a cast macro); * Make ::terminated include a GError *, which may be NULL; * Make the current cases where UNKNOWN is used in place of a better error use that error, and the cases where it is used to mean "no error" use NULL for the GError *.