#3243: Dbus Signals Introspection

View: New views
4 Messages — Rating Filter:   Alert me  

#3243: Dbus Signals Introspection

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#3243: Dbus Signals Introspection
-------------------------+--------------------------------------------------
 Reporter:  sunya        |       Type:  enhancement
   Status:  new          |   Priority:  minor      
Component:  libpurple    |    Version:  2.2.0      
 Keywords:  dbus signal  |    Pending:  0          
-------------------------+--------------------------------------------------
 At this moment, Pidgin is emiting a lot of signals at dbus. But to use
 them, there's no way to introspect them.

 The present implementation only covers methods introspection.

 An improvement to this situation is to add Dbus Signals Introspection.

 Signals are not organized as methods, and they are almost defined as
 needed.

 purple_signal_emit(purple_blist_get_handle(), "buddy-signed-on", buddy);
 purple_signal_emit(purple_conversations_get_handle(), "buddy-typing",
 gc->account, name);
 purple_signal_emit(my_protocol, "jabber-sending-text", js->gc, &data);

 So I worked to detect the most frequent signals (ex  "WroteImMsg"), and
 generated an include file to extended the original introspected xml.

 It's very similar to python method detection, but oriented to recover only
 the signals.

 Now there's no easy way to recover the parameters, and must be hardcoded.

 <signal name='AccountAdded'>
 </signal>
 <signal name='AccountAliasChanged'>
 </signal>
 <signal name='AccountConnecting'>
 </signal>
 <signal name='AccountDisabled'>
 </signal>
 <signal name='AccountEnabled'>
 </signal>
 ...
 <signal name='WritingImMsg'>
 </signal>
 <signal name='WroteChatMsg'>
 </signal>
 <signal name='WroteImMsg'>
 <arg name='account' type='i' direction='in'/>
 <arg name='who' type='s' direction='in'/>
 <arg name='message' type='s' direction='in'/>
 <arg name='conv' type='i'/>
 </signal>

 The generated file dbus-signal-types.inc must be included at static
 "DBusMessage *purple_dbus_introspect(DBusMessage *message)" line 492 in
 dbus-server.c.

 As a future improvement, must be implemented a cleaner way to recover or
 define signals that support parameters too.


 Thanks
 Sunya

--
Ticket URL: <http://developer.pidgin.im/ticket/3243>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker

Re: #3243: Dbus Signals Introspection

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#3243: Dbus Signals Introspection
--------------------------+-------------------------------------------------
  Reporter:  sunya        |       Owner:  deryni    
      Type:  enhancement  |      Status:  new        
  Priority:  minor        |   Milestone:            
 Component:  libpurple    |     Version:  2.2.0      
Resolution:               |    Keywords:  dbus signal
   Pending:  0            |  
--------------------------+-------------------------------------------------
Changes (by deryni):

  * owner:  => deryni

--
Ticket URL: <http://developer.pidgin.im/ticket/3243#comment:1>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker

Re: #3243: Dbus Signals Introspection

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#3243: Dbus Signals Introspection
------------------------+---------------------------------------------------
  Reporter:  sunya      |       Owner:  deryni    
      Type:  patch      |      Status:  new        
  Priority:  minor      |   Milestone:            
 Component:  libpurple  |     Version:  2.2.0      
Resolution:             |    Keywords:  dbus signal
   Pending:  0          |  
------------------------+---------------------------------------------------
Changes (by rlaager):

  * type:  enhancement => patch

--
Ticket URL: <http://developer.pidgin.im/ticket/3243#comment:2>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker

Re: #3243: Dbus Signals Introspection

by Pidgin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

#3243: Dbus Signals Introspection
-------------------------+--------------------------------------------------
 Reporter:  sunya        |        Owner:  deryni  
     Type:  patch        |       Status:  closed  
Milestone:  2.6.0        |    Component:  libpurple
  Version:  2.2.0        |   Resolution:  fixed    
 Keywords:  dbus signal  |  
-------------------------+--------------------------------------------------
Changes (by qulogic@...):

  * status:  new => closed
  * resolution:  => fixed
  * milestone:  => 2.6.0


Comment:

 (In [b1475c60325500d6977326c16d129edcdb365e77]):[[BR]]
 Add auto-generated D-Bus signals introspection, though parameter names
 are not included at the moment.

 Closes #3243.

--
Ticket URL: <http://developer.pidgin.im/ticket/3243#comment:3>
Pidgin <http://pidgin.im>
Pidgin
_______________________________________________
Tracker mailing list
Tracker@...
http://pidgin.im/cgi-bin/mailman/listinfo/tracker