Bug 25715

Summary: Allow plugins to delay requests; start to separate McdChannel from the concept of a channel request
Product: Telepathy Reporter: Simon McVittie <smcv>
Component: mission-controlAssignee: Simon McVittie <smcv>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium Keywords: patch
Version: unspecified   
Hardware: Other   
OS: All   
URL: http://git.collabora.co.uk/?p=user/smcv/telepathy-mission-control-smcv.git;a=shortlog;h=refs/heads/requests
Whiteboard: review+
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 24762, 27363    

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.