view doc/imgstore-signals.dox @ 25086:6a0304f317cf

I was hoping this wouldn't be necessary, but it seems that the possibility has increased now that we update the display name in the AB. If two SOAP requests fail because of outdated tokens for the same server, it's possible that the second one could fail miserably. That's because both times, the update request would be made with the original cipher secret. However, the response for the first request would overwrite this secret, and the second response would attempt decryption with this new secret instead of the original. Now, we queue up the callbacks if a token-update is already in progress. This results in a single update if there happens to be multiple failures at a time, and it stops this incorrect decryption problem. Fixes #8415.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sun, 15 Feb 2009 02:11:58 +0000
parents e0613cf8c493
children
line wrap: on
line source

/** @page imgstore-signals Image Store Signals

 @signals
  @signal image-deleting
 @endsignals

 @see imgstore.h

 <hr>

 @signaldef image-deleting
  @signalproto
char *(*image_deleting)(const PurpleStoredImage *img);
  @endsignalproto
  @signaldesc
   Emitted when a #PurpleStoredImage is about to be destroyed.  This allows
   for what amounts to weak references.  Code can hold onto a pointer to
   the PurpleStoredImage without actually "holding" a reference.  They can
   then use a signal handler to let them know when their img is about to
   be destroyed.
  @param img The image about to be destroyed.
  @note It's not possible to purple_imgstore_ref() img to save it.
 @endsignaldef

*/
// vim: syntax=c.doxygen tw=75 et