Add membership management to PurpleConversation

Review Request #2287 — Created Feb. 25, 2023 and submitted

Information

pidgin/pidgin
default

Reviewers

This is one of many steps to making PurpleConversation handle all conversation
types instead of being an abstract class. In modern chat protocols the only
distinction between different types of conversations is an enum property and
members can join and leave dms, group dms, and multiple user chats. As such
this change is necessary to facilitate that.

Ran the unit tests under valgrind and built and verified the docs looked alright.

Summary ID
Add membership management to PurpleConversation
This is one of many steps to making PurpleConversation handle all conversation types instead of being an abstract class. In modern chat protocols the only distinction between different types of conversations is an enum property and members can join and leave dms, group dms, and multiple user chats. As such this change is necessary to facilitate that.
8e36f27cf1f4be16fed1aa17cff7b696b054e738
Description From Last Updated

s/who //

QuLogicQuLogic

For out, it should be (optional) instead of (nullable); the latter means the result may be NULL (which doesn't make …

QuLogicQuLogic

(nullable)?

QuLogicQuLogic

= {0, }; usually?

QuLogicQuLogic

s/join/addition/ for consistency.

QuLogicQuLogic

s/part/removal/ for consistency

QuLogicQuLogic

enough

QuLogicQuLogic

Is there a reason it's not ==, PURPLE_CONNECTION_FLAG_HTML)?

QuLogicQuLogic
QuLogic
  1. 
      
  2. libpurple/purpleconversation.h (Diff revision 1)
     
     

    s/who //

  3. libpurple/purpleconversation.h (Diff revision 1)
     
     

    For out, it should be (optional) instead of (nullable); the latter means the result may be NULL (which doesn't make sense for a guint.)

  4. libpurple/purpleconversation.h (Diff revision 1)
     
     

    (nullable)?

  5. libpurple/purpleconversation.c (Diff revision 1)
     
     

    = {0, }; usually?

  6. libpurple/purpleconversation.c (Diff revision 1)
     
     

    s/join/addition/ for consistency.

  7. libpurple/purpleconversation.c (Diff revision 1)
     
     

    s/part/removal/ for consistency

  8. libpurple/purpleconversation.c (Diff revision 1)
     
     
  9. libpurple/tests/test_conversation.c (Diff revision 1)
     
     

    Is there a reason it's not ==, PURPLE_CONNECTION_FLAG_HTML)?

  10. 
      
grim
QuLogic
  1. Ship It!
  2. 
      
grim
Review request changed

Status: Closed (submitted)

Loading...