Bug 25715 - Allow plugins to delay requests; start to separate McdChannel from the concept of a channel request
Summary: Allow plugins to delay requests; start to separate McdChannel from the concep...
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: mission-control (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Simon McVittie
QA Contact: Telepathy bugs list
URL: http://git.collabora.co.uk/?p=user/sm...
Whiteboard: review+
Keywords: patch
Depends on:
Blocks: 24762 27363
  Show dependency treegraph
 
Reported: 2009-12-18 11:36 UTC by Simon McVittie
Modified: 2010-09-01 07:33 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Simon McVittie 2009-12-18 11:36:56 UTC
McdChannel currently leads a double life: it's a channel, or a channel request, or both.

Partially splitting out the channel-request functionality is necessary to be able to delay requests, which Maemo 5's proprietary osso-mission-control does in some circumstances (currently by a much less obvious mechanism involving subclassing McdConnection, which has more API "surface area" than it ought to).
Comment 1 Simon McVittie 2010-08-23 09:59:11 UTC
17:53 < fledermaus> smcv: trivial point I've noticed, coprights need to be 
                    updated to 2010 rather than 2009 (I guess, unless you 
                    really did write it all last year)
...
17:54 < smcv> fledermaus: I did originally write it all in 2009 (see the git 
              history!), although it's been rebased since
Comment 2 Vivek Dasmohapatra 2010-08-23 11:46:07 UTC
ooi, why cache the account path in a separate property if we're 
also keeping the account?

---

@@ -137,8 +137,8 @@ _mcd_plugin_request_class_init (
 
   g_object_class_install_property (object_class, PROP_REAL_REQUEST,
       g_param_spec_object ("real-request", "Real channel request",
-          "The underlying McdChannel",
-          MCD_TYPE_CHANNEL,
+          "The underlying McrRequest",
+          MCD_TYPE_REQUEST,

Typo - McdRequest I assume

---

+_mcd_request_set_success (McdRequest *self)
⋮
+      DEBUG ("Ignoring an attempt to fail after already complete");

typo in DEBUG - attempt to succeed?
Comment 3 Vivek Dasmohapatra 2010-08-23 11:46:42 UTC
r-, but only trivia
Comment 4 Simon McVittie 2010-08-24 04:34:47 UTC
(In reply to comment #2)
> ooi, why cache the account path in a separate property if we're 
> also keeping the account?

It's not *cached* separately - we get it from the McdAccount in the getter implementation.

The rationale for having it be a separate property is that when the McdRequest becomes the thing we export on D-Bus to represent the request, we'll use the account-path property as the getter for the D-Bus property. I'll do that in a subsequent branch.

I think this is ready for re-review; the changes are since the merge from master (which didn't require any intervention).
Comment 5 Vivek Dasmohapatra 2010-08-31 05:08:26 UTC
Looks good.
Comment 6 Simon McVittie 2010-09-01 07:33:40 UTC
Fixed in git for 5.5.4


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.