Replace the account-actions-changed signal with an actions-changed signal on PurpleProtocolActions

Review Request #2168 — Created Jan. 3, 2023 and submitted

Information

pidgin/pidgin
default

Reviewers

We also propagate the PurpleProtocolActions::actions-changed signal from the
PurpleProtocolManager::account-actions-changed signal if the protocol implements
the PurpleProtocolActions interface.

Build the docs and ran the unit tests.

I also put a temporary action in the demo protocol plugin and called purple_protocol_actions_changed after the demo protocol connected. I will have another pull request that makes this a permenent action, but I want to convert the demo protocol plugin to subclass PurpleConnection before doing so as that will be accounting of everything much easier.

Summary ID
Replace the account-actions-changed signal with an actions-changed signal on PurpleProtocolActions
We also propagate the PurpleProtocolActions::actions-changed signal from the PurpleProtocolManager::account-actions-changed signal if the protocol implements the PurpleProtocolActions interface.
1a9e0c0d9b5c5a44fe371daaa296d68cb317b697
Description From Last Updated

Do we need the actions- prefix since this is in an *Actions object? If so, then I think the ChangeLog.API …

QuLogicQuLogic

Should we disconnect in unregister?

QuLogicQuLogic
grim
  1. 
      
  2. I put this on PurpleProtocolManager because that seemed like the best place because the signal comes from a PurpleProtocol interface, but now I'm wondering if I should move the propagated signal to PurpleAccountManager as it is tied to an account instance.

    Thoughts?

  3. 
      
grim
QuLogic
  1. 
      
  2. libpurple/purpleprotocolactions.c (Diff revision 1)
     
     
    Show all issues

    Do we need the actions- prefix since this is in an *Actions object? If so, then I think the ChangeLog.API needs updating.

    1. The problem is that this is an Actions Interface not an object. So if it was just changed, it can/would collide with anything else on the protocol that also has a signal named changed.

      Originally I did it that way, and then realize it could lead to collisions.

    2. Ah, that makes sense. But still need to update ChangeLog.API then.

  3. libpurple/purpleprotocolmanager.c (Diff revision 1)
     
     
    Show all issues

    Should we disconnect in unregister?

    1. Ah yes, good call!

  4. 
      
grim
grim
QuLogic
  1. Ship It!
  2. 
      
grim
Review request changed
Status:
Completed