[Pidgin] #1061: Authorization signals

Pidgin trac at pidgin.im
Mon Sep 17 23:19:07 EDT 2007


#1061: Authorization signals
------------------------+---------------------------------------------------
  Reporter:  cockroach  |       Owner:  sadrul       
      Type:  patch      |      Status:  new          
  Priority:  minor      |   Milestone:  2.3.0        
 Component:  libpurple  |     Version:  2.0          
Resolution:             |    Keywords:  authorization
   Pending:  0          |  
------------------------+---------------------------------------------------
Comment (by cockroach):

 Hi.

 Thanks for your feedback. The new version of the patch renames the signal
 and moves it to appropriate place.

 I did, however, not completely get the issues with the callbacks: If I
 understand it right, the problem basically is that those callbacks are
 inside the GTK-part which makes the corresponding signals also originate
 there instead of in the core (libpurple). Since, however, the decision on
 whether to accept or deny the request is made within the UI and then,
 AFAICT, passed directly to the protocol, I can't see a way to intercept it
 within libpurple. Now, if I get it right, the idea would be to replace
 auth_cb and deny_cb as passed to ui_ops->request_authorize with new
 callbacks which would emit the signals. My problem with this solution is,
 however, that I can't seem to figure out how to handle the original
 callbacks after I called my new ones. On the other hand, my approach might
 also be completely wrong.

 I also had a little discussion about this with deryni on IRC and he
 proposed the following solution:
 {{{
 You'll need to create core callbacks for accept and deny, and
 pass those to the ui_op in purple_account_request_authorization
 and then have those call the correct callbacks that were passed
 to purple_account_request_authorization for this to work right
 I believe.
 }}}

 Now, I could try to do this, but since I don't know pidgin's internals
 that well, I would be glad if you could point me in the right direction
 (maybe some other place where something similar has already been done).

 Please let me know what you think...

-- 
Ticket URL: <http://developer.pidgin.im/ticket/1061#comment:5>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list