~ubuntu-branches/ubuntu/utopic/telepathy-python/utopic

« back to all changes in this revision

Viewing changes to spec/Account_Manager.xml

  • Committer: Bazaar Package Importer
  • Author(s): Jonny Lamb
  • Date: 2009-02-16 10:47:31 UTC
  • mfrom: (7.1.14 jaunty)
  • Revision ID: james.westby@ubuntu.com-20090216104731-3l467x71wygwok32
Tags: 0.15.6-2
debian/control: Added myself to Uploaders.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" ?>
 
2
<node name="/Account_Manager"
 
3
  xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
 
4
  <tp:copyright>Copyright (C) 2008 Collabora Ltd.</tp:copyright>
 
5
  <tp:copyright>Copyright (C) 2008 Nokia Corporation</tp:copyright>
 
6
  <tp:license xmlns="http://www.w3.org/1999/xhtml">
 
7
<p>This library is free software; you can redistribute it and/or
 
8
modify it under the terms of the GNU Lesser General Public
 
9
License as published by the Free Software Foundation; either
 
10
version 2.1 of the License, or (at your option) any later version.</p>
 
11
 
 
12
<p>This library is distributed in the hope that it will be useful,
 
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
15
Lesser General Public License for more details.</p>
 
16
 
 
17
<p>You should have received a copy of the GNU Lesser General Public
 
18
License along with this library; if not, write to the Free Software
 
19
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
20
</p>
 
21
  </tp:license>
 
22
  <interface name="org.freedesktop.Telepathy.AccountManager">
 
23
    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
 
24
      <p>The account manager is a central service used to store account
 
25
        details.</p>
 
26
 
 
27
      <p>The current account manager is defined to be the process that owns
 
28
        the well-known bus name org.freedesktop.Telepathy.AccountManager on
 
29
        the session bus. This process must export an
 
30
        /org/freedesktop/Telepathy/AccountManager object with the
 
31
        AccountManager interface.</p>
 
32
 
 
33
      <p>Until a mechanism exists for making a reasonable automatic choice
 
34
        of AccountManager implementation, implementations SHOULD NOT
 
35
        register as an activatable service for the AccountManager's
 
36
        well-known bus name. Instead, it is RECOMMENDED that some component
 
37
        of the user's session will select and activate a particular
 
38
        implementation, and that other Telepathy-enabled programs can
 
39
        detect whether Telepathy is in use by checking whether the
 
40
        AccountManager's well-known name is in use at runtime.</p>
 
41
    </tp:docstring>
 
42
    <tp:added version="0.17.2"/>
 
43
 
 
44
    <!-- Missing functionality compared with NMC 4.x:
 
45
    * look up accounts by conditions (can be done client-side, less
 
46
      efficiently, so not a blocker)
 
47
    * global presence/... changes (can be done client-side, less efficiently -
 
48
      we should add this)
 
49
    * count used channels (what's this for?)
 
50
    * get "average" status (not well-defined, UIs can do this)
 
51
    * request channels (out of scope: Channel Dispatcher will do this)
 
52
    * register filters (completely out of scope: Channel Dispatcher again)
 
53
    -->
 
54
 
 
55
    <property name="Interfaces" tp:name-for-bindings="Interfaces"
 
56
      type="as" tp:type="DBus_Interface[]" access="read">
 
57
      <tp:docstring>
 
58
        A list of the interfaces provided by the account manager object.
 
59
      </tp:docstring>
 
60
    </property>
 
61
 
 
62
    <property name="ValidAccounts" type="ao" access="read"
 
63
      tp:name-for-bindings="Valid_Accounts">
 
64
      <tp:docstring>
 
65
        A list of the valid (complete, usable) accounts. Change notification
 
66
        is via <tp:member-ref>AccountValidityChanged</tp:member-ref>.
 
67
 
 
68
        <tp:rationale>
 
69
          This split between valid and invalid accounts makes it easy to
 
70
          ignore the invalid ones. The only things that should be manipulating
 
71
          invalid accounts are account-editing UIs, which might be able to
 
72
          rescue them.
 
73
        </tp:rationale>
 
74
      </tp:docstring>
 
75
    </property>
 
76
 
 
77
    <property name="InvalidAccounts" type="ao" access="read"
 
78
      tp:name-for-bindings="Invalid_Accounts">
 
79
      <tp:docstring>
 
80
        A list of incomplete or otherwise unusable accounts. Change
 
81
        notification is via
 
82
        <tp:member-ref>AccountValidityChanged</tp:member-ref>.
 
83
      </tp:docstring>
 
84
    </property>
 
85
 
 
86
    <signal name="AccountRemoved" tp:name-for-bindings="Account_Removed">
 
87
      <tp:docstring>
 
88
        The given account has been removed.
 
89
 
 
90
        <tp:rationale>
 
91
          This is effectively change notification for the valid and invalid
 
92
          accounts lists.
 
93
        </tp:rationale>
 
94
      </tp:docstring>
 
95
 
 
96
      <arg name="Account" type="o">
 
97
        <tp:docstring>
 
98
          An Account, which must not be used any more.
 
99
        </tp:docstring>
 
100
      </arg>
 
101
    </signal>
 
102
 
 
103
    <signal name="AccountValidityChanged"
 
104
      tp:name-for-bindings="Account_Validity_Changed">
 
105
      <tp:docstring>
 
106
        The validity of the given account has changed. New accounts are
 
107
        also indicated by this signal, as an account validity change
 
108
        (usually to True) on an account that did not previously exist.
 
109
 
 
110
        <tp:rationale>
 
111
          This is effectively change notification for the valid and invalid
 
112
          accounts lists.
 
113
        </tp:rationale>
 
114
      </tp:docstring>
 
115
 
 
116
      <arg name="Account" type="o">
 
117
        <tp:docstring>
 
118
          An Account.
 
119
        </tp:docstring>
 
120
      </arg>
 
121
 
 
122
      <arg name="Valid" type="b">
 
123
        <tp:docstring>
 
124
          True if the account is now valid.
 
125
        </tp:docstring>
 
126
      </arg>
 
127
    </signal>
 
128
 
 
129
    <method name="CreateAccount" tp:name-for-bindings="Create_Account">
 
130
      <tp:docstring>
 
131
        Request the creation of a new <tp:dbus-ref
 
132
          namespace="org.freedesktop.Telepathy">Account</tp:dbus-ref>. The
 
133
        account manager SHOULD NOT allow invalid accounts to be created.
 
134
      </tp:docstring>
 
135
 
 
136
      <arg name="Connection_Manager" direction="in" type="s"
 
137
        tp:type="Connection_Manager_Name">
 
138
        <tp:docstring>
 
139
          The name of the connection manager, e.g. "salut".
 
140
        </tp:docstring>
 
141
      </arg>
 
142
 
 
143
      <arg name="Protocol" direction="in" type="s"
 
144
        tp:type="Protocol">
 
145
        <tp:docstring>The protocol, e.g. "local-xmpp".</tp:docstring>
 
146
      </arg>
 
147
 
 
148
      <arg name="Display_Name" direction="in" type="s">
 
149
        <tp:docstring>The initial value of the new account's <tp:dbus-ref
 
150
            namespace="org.freedesktop.Telepathy.Account">DisplayName</tp:dbus-ref>
 
151
          property. The account manager MAY modify this to make it unique,
 
152
          for instance by appending a number or the 'account'
 
153
          parameter.</tp:docstring>
 
154
      </arg>
 
155
 
 
156
      <arg name="Parameters" direction="in" type="a{sv}">
 
157
        <tp:docstring>Initial parameter values, as would be passed to
 
158
          <tp:dbus-ref
 
159
            namespace="org.freedesktop.Telepathy.ConnectionManager">RequestConnection</tp:dbus-ref>.</tp:docstring>
 
160
      </arg>
 
161
 
 
162
      <arg name="Account" direction="out" type="o">
 
163
        <tp:docstring>The new <tp:dbus-ref
 
164
          namespace="org.freedesktop.Telepathy">Account</tp:dbus-ref>.</tp:docstring>
 
165
      </arg>
 
166
 
 
167
      <tp:possible-errors>
 
168
        <tp:error name="org.freedesktop.Telepathy.Error.NotImplemented">
 
169
          <tp:docstring>The connection manager is not installed or does not
 
170
            implement that protocol.</tp:docstring>
 
171
        </tp:error>
 
172
        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
 
173
          <tp:docstring>The parameters provided omit a required argument
 
174
            or provide unsupported arguments.
 
175
          </tp:docstring>
 
176
        </tp:error>
 
177
      </tp:possible-errors>
 
178
    </method>
 
179
 
 
180
  </interface>
 
181
</node>
 
182
<!-- vim:set sw=2 sts=2 et ft=xml: -->
 
183