summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2008-09-15 18:04:00 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2008-09-15 18:04:00 +0100
commitb9e26f41481cb11a334f884553fc80a792554b1b (patch)
treedcf45e2cfc7a6fd11fcab08ae6837f51e26f1d99 /spec
parent1d971aa91ef06a0ce89c3291327b41d570b9ee20 (diff)
ChannelDispatcher: explain what happens when CreateChannel is called on a disabled channel
Diffstat (limited to 'spec')
-rw-r--r--spec/Channel_Dispatcher.xml20
1 files changed, 17 insertions, 3 deletions
diff --git a/spec/Channel_Dispatcher.xml b/spec/Channel_Dispatcher.xml
index e60ea383..e83a204c 100644
--- a/spec/Channel_Dispatcher.xml
+++ b/spec/Channel_Dispatcher.xml
@@ -116,9 +116,23 @@
timing out, which is not the behaviour we want.</p>
</tp:rationale>
- <p>(FIXME: something needs to explain what will happen if the Account
- is disabled - raise PermissionDenied from Proceed, or emit
- Failed?)</p>
+ <p>If this method is called for an Account that is disabled, invalid
+ or otherwise unusable, no error is signalled until
+ <tp:member-ref
+ namespace="org.freedesktop.Telepathy">ChannelRequest.Proceed</tp:member-ref>
+ is called, at which point
+ <tp:member-ref
+ namespace="org.freedesktop.Telepathy">ChannelRequest.Failed</tp:member-ref>
+ is emitted with an appropriate error.</p>
+
+ <tp:rationale>
+ <p>This means there's only one code path for errors, apart from
+ InvalidArgument for "that request makes no sense".</p>
+
+ <p>It also means that the request will proceed if the account is
+ enabled after calling CreateChannel, but before calling
+ Proceed.</p>
+ </tp:rationale>
</tp:docstring>
<arg direction="in" name="Account" type="o">