Summary: | implement Account.I.Addressing in MC | ||
---|---|---|---|
Product: | Telepathy | Reporter: | Simon McVittie <smcv> |
Component: | mission-control | Assignee: | Vivek Dasmohapatra <vivek> |
Status: | RESOLVED FIXED | QA Contact: | Telepathy bugs list <telepathy-bugs> |
Severity: | enhancement | ||
Priority: | low | CC: | will |
Version: | unspecified | Keywords: | patch |
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | review+ with trivial change | ||
i915 platform: | i915 features: | ||
Bug Depends on: | 24898 | ||
Bug Blocks: |
Description
Simon McVittie
2010-11-08 06:31:38 UTC
wjt wrote: Can the MC implementation branch also bin the property and code from Account.Interface.Compat that it replaces? + if (schemes == NULL) + { + gchar *empty[] = { NULL }; + schemes = empty; + } Forgive my C ignorance: is dereferencing 'schemes' actually kosher once we leave the if {} block? Wouldn't it be more obvious to just not run the following loop... + for(scheme = schemes[pos++]; scheme != NULL; scheme = schemes[pos++]) + { + if (!tp_strdiff (scheme, uri_scheme)) + old_association = TRUE; + } ...which is secret code for old_association = tp_strv_contains (schemes, uri_scheme);. tp_strv_contains() does the right thing if you pass it a NULL strv, so the previous block becomes unnecessary. And then actually I found the pointer arithmetic that followed very hard to read, so I rewrote the whole function. :) The result is shorter, and (IMHO) more readable. Top two patches of <http://git.collabora.co.uk/?p=user/wjt/telepathy-mission-control-wjt.git;a=shortlog;h=refs/heads/account-interface-addressing>. + uri_schemes = get_schemes (account_props) + assertContains ('scheme-a', uri_schemes) + assertContains ('scheme-b', uri_schemes) + assertContains ('scheme-c', uri_schemes) + assertEquals (len(uri_schemes), 3) How about assertEquals(set(['scheme-a', 'scheme-b', 'scheme-c']), set(uri_schemes))? In fact Gabble's copy of servicetest.py has: def assertSameSets(expected, value): exp_set = set(expected) val_set = set(value) if exp_set != val_set: raise AssertionError( "expected contents:\n%s\ngot:\n%s" % ( pretty(exp_set), pretty(val_set))) to make this easier. Maybe import this to MC's, just after assertEquals() in servicetest.py (to avoid divergence). (I don't really like the Association naming, but I can't think of a better one off-hand.) A branch seems to exist. Is it ready for review/merge? If so, please set the patch keyword; I'm happy to review it. Reviewed by wjt, changes made, I think it's ready for merge. > + mcd-account-addressing.h \
This should ideally be in libmcd_convenience_la_SOURCES rather than mc_headers, because it doesn't contain any libmissioncontrol-server API.
Other than that, r+. Let's have this in 5.7.0.
Appears to have been fixed in 5.7.0. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.