From: Tim R. <tim...@co...> - 2005-02-06 23:30:51
|
Felipe Contreras wrote: > On Sun, 06 Feb 2005 15:05:50 -0600, Tim Ringenbach > <tim...@co...> wrote: >>I'm not sure which way is better. I feel you haven't justified your >>assertion that your >>single-list-of-buddies-each-with-associated-attributes is better than >>multiple lists. > > > Of course, but what I'm about is the API, both implementations can > share the same API. I thought I was talking about the API though. Are we going to have gaim_privacy_list_add(account, "somelist" (e.g. deny), screenname); or gaim_dude_privatey_setting_set(dude, "somesetting" (e.g. blocked), TRUE); I wasn't trying to say one way was better than the other in my previous email, rather I was trying to prod you into fully justifying your design. > Also it will easy the buddy updating proccess. Right now each time we > get something as serv_got_alias we have to search the entire buddy > list to retrieve those account/screenname things. That is tedious and > error prone, there are still some places where we don't update all the > buddies properly. > > Seriously, go to blist.c:gaim_find_buddies, and add a printf inside > the for to see how many times gaim_find_buddies is called. > > GaimPresence (for buddies) is basically the same thing, an > account/screenname structure that has a group of GaimBuddies. > > I think having a single GaimDude will bring many advantages, right now > I'm using that for privacy, and surely can be used for status, but > it's the possibilities what I'm after. I do agree that, there are more than a few things that GaimBuddy is used for, that it shouldn't be used for, because GaimBuddy's are not unique for a given screenname on a given account. If a buddy is in more than one group, it has more than one GaimBuddy. I almost wonder if we shouldn't rename GaimBuddy to GaimBlistnodeBuddy, to remind people it's a blist node. I haven't looked at the code enough, but I'm told GaimPresense tries to be the unique account/screenname thingy, at least for statuses. I'm not sure how good of a job it does. Maybe GaimBuddy should be renamed GaimBlistnodeBuddy, and a GaimblnBuddy has a pointer to a GaimBuddy, where a GaimBuddy has everything that is always the same between two instances of the same buddy on the same account on the buddy list, and can also exist for buddies not on the list at all. The new GaimBuddy might have a GaimPresense member, amoung others, I don't know. --Tim |