remove our own Telepathy implementation
We rely only on telepathy-glib now (#620416).
This commit is contained in:
parent
2b91ef7833
commit
dc51a84cec
@ -8,7 +8,6 @@ nobase_dist_js_DATA = \
|
|||||||
misc/format.js \
|
misc/format.js \
|
||||||
misc/gnomeSession.js \
|
misc/gnomeSession.js \
|
||||||
misc/params.js \
|
misc/params.js \
|
||||||
misc/telepathy.js \
|
|
||||||
misc/util.js \
|
misc/util.js \
|
||||||
perf/core.js \
|
perf/core.js \
|
||||||
ui/altTab.js \
|
ui/altTab.js \
|
||||||
|
@ -1,361 +0,0 @@
|
|||||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
||||||
|
|
||||||
const DBus = imports.dbus;
|
|
||||||
|
|
||||||
// D-Bus utils
|
|
||||||
function nameToPath(name) {
|
|
||||||
return '/' + name.replace(/\./g, '/');
|
|
||||||
};
|
|
||||||
|
|
||||||
function pathToName(path) {
|
|
||||||
if (path[0] != '/')
|
|
||||||
throw new Error('not a D-Bus path: ' + path);
|
|
||||||
return path.substr(1).replace(/\//g, '.');
|
|
||||||
};
|
|
||||||
|
|
||||||
// This is tp_escape_as_identifier() from telepathy-glib
|
|
||||||
function escapeAsIdentifier(name) {
|
|
||||||
if (!name)
|
|
||||||
return '_';
|
|
||||||
|
|
||||||
// first char is replaced with _XX if it's non-alpha,
|
|
||||||
// later chars are replaced with _XX if they're non-alphanumeric
|
|
||||||
if (name.length == 1) {
|
|
||||||
return name.replace(/[^a-zA-Z]/, _hexEscape);
|
|
||||||
} else {
|
|
||||||
return (name[0].replace(/[^a-zA-Z]/, _hexEscape) +
|
|
||||||
name.substring(1).replace(/[^a-zA-Z0-9]/g, _hexEscape));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function _hexEscape(ch) {
|
|
||||||
return '_' + ch.charCodeAt(0).toString(16);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Telepathy D-Bus interface definitions. Note that most of these are
|
|
||||||
// incomplete, and only cover the methods/properties/signals that
|
|
||||||
// we're currently using.
|
|
||||||
|
|
||||||
const TELEPATHY = 'org.freedesktop.Telepathy';
|
|
||||||
|
|
||||||
const CLIENT_NAME = TELEPATHY + '.Client';
|
|
||||||
const ClientIface = {
|
|
||||||
name: CLIENT_NAME,
|
|
||||||
properties: [
|
|
||||||
{ name: 'Interfaces',
|
|
||||||
signature: 'as',
|
|
||||||
access: 'read' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
const CLIENT_APPROVER_NAME = TELEPATHY + '.Client.Approver';
|
|
||||||
const ClientApproverIface = {
|
|
||||||
name: CLIENT_APPROVER_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'AddDispatchOperation',
|
|
||||||
inSignature: 'a(oa{sv})oa{sv}',
|
|
||||||
outSignature: '' }
|
|
||||||
],
|
|
||||||
properties: [
|
|
||||||
{ name: 'ApproverChannelFilter',
|
|
||||||
signature: 'aa{sv}',
|
|
||||||
access: 'read' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
const CLIENT_HANDLER_NAME = TELEPATHY + '.Client.Handler';
|
|
||||||
const ClientHandlerIface = {
|
|
||||||
name: CLIENT_HANDLER_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'HandleChannels',
|
|
||||||
inSignature: 'ooa(oa{sv})aota{sv}',
|
|
||||||
outSignature: '' }
|
|
||||||
],
|
|
||||||
properties: [
|
|
||||||
{ name: 'HandlerChannelFilter',
|
|
||||||
signature: 'aa{sv}',
|
|
||||||
access: 'read' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
const CLIENT_OBSERVER_NAME = TELEPATHY + '.Client.Observer';
|
|
||||||
const ClientObserverIface = {
|
|
||||||
name: CLIENT_OBSERVER_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'ObserveChannels',
|
|
||||||
inSignature: 'ooa(oa{sv})oaoa{sv}',
|
|
||||||
outSignature: '' }
|
|
||||||
],
|
|
||||||
properties: [
|
|
||||||
{ name: 'ObserverChannelFilter',
|
|
||||||
signature: 'aa{sv}',
|
|
||||||
access: 'read' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
const CHANNEL_DISPATCH_OPERATION_NAME = TELEPATHY + '.ChannelDispatchOperation';
|
|
||||||
const ChannelDispatchOperationIface = {
|
|
||||||
name: CHANNEL_DISPATCH_OPERATION_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'HandleWith',
|
|
||||||
inSignature: 's',
|
|
||||||
outSignature: '' },
|
|
||||||
{ name: 'Claim',
|
|
||||||
inSignature: '',
|
|
||||||
outSignature: '' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let ChannelDispatchOperation = DBus.makeProxyClass(ChannelDispatchOperationIface);
|
|
||||||
|
|
||||||
const CONNECTION_NAME = TELEPATHY + '.Connection';
|
|
||||||
const ConnectionIface = {
|
|
||||||
name: CONNECTION_NAME,
|
|
||||||
signals: [
|
|
||||||
{ name: 'StatusChanged',
|
|
||||||
inSignature: 'uu' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let Connection = DBus.makeProxyClass(ConnectionIface);
|
|
||||||
|
|
||||||
const ConnectionStatus = {
|
|
||||||
CONNECTED: 0,
|
|
||||||
CONNECTING: 1,
|
|
||||||
DISCONNECTED: 2
|
|
||||||
};
|
|
||||||
|
|
||||||
const CONNECTION_ALIASING_NAME = CONNECTION_NAME + '.Interface.Aliasing';
|
|
||||||
const ConnectionAliasingIface = {
|
|
||||||
name: CONNECTION_ALIASING_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'RequestAliases',
|
|
||||||
inSignature: 'au',
|
|
||||||
outSignature: 'as'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
signals: [
|
|
||||||
{ name: 'AliasesChanged',
|
|
||||||
inSignature: 'a(us)' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let ConnectionAliasing = DBus.makeProxyClass(ConnectionAliasingIface);
|
|
||||||
|
|
||||||
const CONNECTION_AVATARS_NAME = CONNECTION_NAME + '.Interface.Avatars';
|
|
||||||
const ConnectionAvatarsIface = {
|
|
||||||
name: CONNECTION_AVATARS_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'GetKnownAvatarTokens',
|
|
||||||
inSignature: 'au',
|
|
||||||
outSignature: 'a{us}'
|
|
||||||
},
|
|
||||||
{ name: 'RequestAvatars',
|
|
||||||
inSignature: 'au',
|
|
||||||
outSignature: ''
|
|
||||||
}
|
|
||||||
],
|
|
||||||
signals: [
|
|
||||||
{ name: 'AvatarRetrieved',
|
|
||||||
inSignature: 'usays'
|
|
||||||
},
|
|
||||||
{ name: 'AvatarUpdated',
|
|
||||||
inSignature: 'us'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let ConnectionAvatars = DBus.makeProxyClass(ConnectionAvatarsIface);
|
|
||||||
|
|
||||||
const CONNECTION_CONTACTS_NAME = CONNECTION_NAME + '.Interface.Contacts';
|
|
||||||
const ConnectionContactsIface = {
|
|
||||||
name: CONNECTION_CONTACTS_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'GetContactAttributes',
|
|
||||||
inSignature: 'auasb',
|
|
||||||
outSignature: 'a{ua{sv}}'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let ConnectionContacts = DBus.makeProxyClass(ConnectionContactsIface);
|
|
||||||
|
|
||||||
const CONNECTION_REQUESTS_NAME = CONNECTION_NAME + '.Interface.Requests';
|
|
||||||
const ConnectionRequestsIface = {
|
|
||||||
name: CONNECTION_REQUESTS_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'CreateChannel',
|
|
||||||
inSignature: 'a{sv}',
|
|
||||||
outSignature: 'oa{sv}'
|
|
||||||
},
|
|
||||||
{ name: 'EnsureChannel',
|
|
||||||
inSignature: 'a{sv}',
|
|
||||||
outSignature: 'boa{sv}'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
properties: [
|
|
||||||
{ name: 'Channels',
|
|
||||||
signature: 'a(oa{sv})',
|
|
||||||
access: 'read' }
|
|
||||||
],
|
|
||||||
signals: [
|
|
||||||
{ name: 'NewChannels',
|
|
||||||
inSignature: 'a(oa{sv})'
|
|
||||||
},
|
|
||||||
{ name: 'ChannelClosed',
|
|
||||||
inSignature: 'o'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let ConnectionRequests = DBus.makeProxyClass(ConnectionRequestsIface);
|
|
||||||
|
|
||||||
const CONNECTION_SIMPLE_PRESENCE_NAME = CONNECTION_NAME + '.Interface.SimplePresence';
|
|
||||||
const ConnectionSimplePresenceIface = {
|
|
||||||
name: CONNECTION_SIMPLE_PRESENCE_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'SetPresence',
|
|
||||||
inSignature: 'ss'
|
|
||||||
},
|
|
||||||
{ name: 'GetPresences',
|
|
||||||
inSignature: 'au',
|
|
||||||
outSignature: 'a{u(uss)}'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
signals: [
|
|
||||||
{ name: 'PresencesChanged',
|
|
||||||
inSignature: 'a{u(uss)}' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let ConnectionSimplePresence = DBus.makeProxyClass(ConnectionSimplePresenceIface);
|
|
||||||
|
|
||||||
const ConnectionPresenceType = {
|
|
||||||
UNSET: 0,
|
|
||||||
OFFLINE: 1,
|
|
||||||
AVAILABLE: 2,
|
|
||||||
AWAY: 3,
|
|
||||||
EXTENDED_AWAY: 4,
|
|
||||||
HIDDEN: 5,
|
|
||||||
BUSY: 6,
|
|
||||||
UNKNOWN: 7,
|
|
||||||
ERROR: 8
|
|
||||||
};
|
|
||||||
|
|
||||||
const HandleType = {
|
|
||||||
NONE: 0,
|
|
||||||
CONTACT: 1,
|
|
||||||
ROOM: 2,
|
|
||||||
LIST: 3,
|
|
||||||
GROUP: 4
|
|
||||||
};
|
|
||||||
|
|
||||||
const CHANNEL_NAME = TELEPATHY + '.Channel';
|
|
||||||
const ChannelIface = {
|
|
||||||
name: CHANNEL_NAME,
|
|
||||||
signals: [
|
|
||||||
{ name: 'Closed',
|
|
||||||
inSignature: '' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let Channel = DBus.makeProxyClass(ChannelIface);
|
|
||||||
|
|
||||||
const CHANNEL_TEXT_NAME = CHANNEL_NAME + '.Type.Text';
|
|
||||||
const ChannelTextIface = {
|
|
||||||
name: CHANNEL_TEXT_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'ListPendingMessages',
|
|
||||||
inSignature: 'b',
|
|
||||||
outSignature: 'a(uuuuus)'
|
|
||||||
},
|
|
||||||
{ name: 'AcknowledgePendingMessages',
|
|
||||||
inSignature: 'au',
|
|
||||||
outSignature: ''
|
|
||||||
},
|
|
||||||
{ name: 'Send',
|
|
||||||
inSignature: 'us',
|
|
||||||
outSignature: ''
|
|
||||||
}
|
|
||||||
],
|
|
||||||
signals: [
|
|
||||||
{ name: 'Received',
|
|
||||||
inSignature: 'uuuuus' },
|
|
||||||
{ name: 'Sent',
|
|
||||||
inSignature: 'uus' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let ChannelText = DBus.makeProxyClass(ChannelTextIface);
|
|
||||||
|
|
||||||
const ChannelTextMessageType = {
|
|
||||||
NORMAL: 0,
|
|
||||||
ACTION: 1,
|
|
||||||
NOTICE: 2,
|
|
||||||
AUTO_REPLY: 3,
|
|
||||||
DELIVERY_REPORT: 4
|
|
||||||
};
|
|
||||||
|
|
||||||
const CHANNEL_CONTACT_LIST_NAME = CHANNEL_NAME + '.Type.ContactList';
|
|
||||||
// There is no interface associated with ContactList; it's just a
|
|
||||||
// special kind of Channel.Interface.Group
|
|
||||||
|
|
||||||
const CHANNEL_GROUP_NAME = CHANNEL_NAME + '.Interface.Group';
|
|
||||||
const ChannelGroupIface = {
|
|
||||||
name: CHANNEL_GROUP_NAME,
|
|
||||||
properties: [
|
|
||||||
{ name: 'Members',
|
|
||||||
signature: 'au',
|
|
||||||
access: 'read' }
|
|
||||||
],
|
|
||||||
signals: [
|
|
||||||
{ name: 'MembersChanged',
|
|
||||||
inSignature: 'sauauauauuu' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let ChannelGroup = DBus.makeProxyClass(ChannelGroupIface);
|
|
||||||
|
|
||||||
const ACCOUNT_MANAGER_NAME = TELEPATHY + '.AccountManager';
|
|
||||||
const AccountManagerIface = {
|
|
||||||
name: ACCOUNT_MANAGER_NAME,
|
|
||||||
properties: [
|
|
||||||
{ name: 'ValidAccounts',
|
|
||||||
signature: 'ao',
|
|
||||||
access: 'read' }
|
|
||||||
],
|
|
||||||
signals: [
|
|
||||||
{ name: 'AccountValidityChanged',
|
|
||||||
inSignature: 'ob' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let AccountManager = DBus.makeProxyClass(AccountManagerIface);
|
|
||||||
|
|
||||||
const ACCOUNT_NAME = TELEPATHY + '.Account';
|
|
||||||
const AccountIface = {
|
|
||||||
name: ACCOUNT_NAME,
|
|
||||||
properties: [
|
|
||||||
{ name: 'Connection',
|
|
||||||
signature: 'o',
|
|
||||||
access: 'read' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let Account = DBus.makeProxyClass(AccountIface);
|
|
||||||
|
|
||||||
const CHANNEL_DISPATCHER_NAME = TELEPATHY + '.ChannelDispatcher';
|
|
||||||
const ChannelDispatcherIface = {
|
|
||||||
name: CHANNEL_DISPATCHER_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'EnsureChannel',
|
|
||||||
inSignature: 'oa{sv}xs',
|
|
||||||
outSignature: 'o' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let ChannelDispatcher = DBus.makeProxyClass(ChannelDispatcherIface);
|
|
||||||
|
|
||||||
const CHANNEL_REQUEST_NAME = TELEPATHY + '.ChannelRequest';
|
|
||||||
const ChannelRequestIface = {
|
|
||||||
name: CHANNEL_REQUEST_NAME,
|
|
||||||
methods: [
|
|
||||||
{ name: 'Proceed',
|
|
||||||
inSignature: '',
|
|
||||||
outSignature: '' }
|
|
||||||
],
|
|
||||||
signals: [
|
|
||||||
{ name: 'Failed',
|
|
||||||
signature: 'ss' },
|
|
||||||
{ name: 'Succeeded',
|
|
||||||
signature: '' }
|
|
||||||
]
|
|
||||||
};
|
|
||||||
let ChannelRequest = DBus.makeProxyClass(ChannelRequestIface);
|
|
Loading…
Reference in New Issue
Block a user