aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
Commit message (Expand)AuthorAgeFilesLines
...
* contact_manager_status_changed_cb: ignore disconnected accountGuillaume Desmottes2009-11-301-0/+4
* add 'voip' debug domainGuillaume Desmottes2009-11-282-0/+2
* Add Test debug domainXavier Claessens2009-11-252-0/+2
* empathy_tp_contact_factory_get_from_{id,handle} shouldn't pass the ref of the...Guillaume Desmottes2009-11-231-0/+7
* ft-handler: contact_factory_contact_cb: ref the contactGuillaume Desmottes2009-11-231-1/+1
* tp-contact-factory: document that empathy_tp_contact_factory_get_from_{ids,ha...Guillaume Desmottes2009-11-231-0/+2
* idle: make empathy_idle_get_status staticGuillaume Desmottes2009-11-192-19/+18
* tp-chat: copy the rename messageGuillaume Desmottes2009-11-191-3/+4
* coding style fixesGuillaume Desmottes2009-11-191-4/+4
* don't mix code and variable declarationsGuillaume Desmottes2009-11-191-3/+3
* Handle the case where a user's id changes in a chatroomJonathon Jongsma2009-11-192-0/+104
* tp-chat: no need to connect twice on the ChatStateChanged signalGuillaume Desmottes2009-11-191-4/+0
* remove empathy_idle_{get,set}_flash_stateGuillaume Desmottes2009-11-182-49/+0
* We should ensure, not create muc channelsSjoerd Simons2009-11-171-0/+1
* log_store_empathy_search_hit_new: don't unref accountsGuillaume Desmottes2009-11-171-1/+0
* add empathy_tp_call_get_connection_managerGuillaume Desmottes2009-11-162-0/+23
* contact.h: remove empathy_contact_hash as it's not defined (#580254)Guillaume Desmottes2009-11-141-1/+0
* Respect indentation style.Cosimo Cecchi2009-11-132-23/+25
* tp-chat: update the 'password-needed' property when password flags changesGuillaume Desmottes2009-11-131-0/+27
* empathy-tp-chat: add 'password-needed' propertyGuillaume Desmottes2009-11-131-0/+13
* add empathy_tp_chat_provide_password_{async,finish}Guillaume Desmottes2009-11-132-0/+63
* tp_chat_check_if_ready: deal with password protected roomGuillaume Desmottes2009-11-131-2/+10
* tp-chat: add API to check if a password is requiredGuillaume Desmottes2009-11-132-0/+38
* tp_chat_check_if_ready: split the test checking if the TpChat is readyGuillaume Desmottes2009-11-131-3/+8
* libempathy/Makefile.am: sort filesGuillaume Desmottes2009-11-131-14/+14
* empathy-tp-contact-factory: ensure that empathy_tp_contact_factory_get_from_h...Guillaume Desmottes2009-11-121-1/+18
* empathy_dispatch_operation_dispose: fix crash when disconnecting the ready si...Guillaume Desmottes2009-11-121-5/+3
* Warn if accessing connection status before AM is readyDanielle Madeley2009-11-101-0/+5
* empathy-tp-call: we are not sending or receiving video if the video stream do...Guillaume Desmottes2009-11-101-0/+6
* TpContactFactory: wait that the connection is ready before using itGuillaume Desmottes2009-11-091-13/+35
* dispatcher_init_connection_if_needed: wait that the connection is ready befor...Guillaume Desmottes2009-11-091-11/+32
* [EmpathyIdle] track whether the AccountManager is ready, warn if it is notDanielle Madeley2009-11-091-0/+16
* empathy_call_handler_request_cb: notify when the tp-call property is setGuillaume Desmottes2009-11-051-0/+1
* TpCall: add {audio,video}-stream-error signalsGuillaume Desmottes2009-11-051-0/+58
* empathy-dispatch-operation: ensure that the operation stays alive while tp_ch...Guillaume Desmottes2009-11-041-2/+12
* empathy-dispatch-operation: ensure that the operation stays alive while tp_co...Guillaume Desmottes2009-11-041-0/+12
* Merge branch 'irc-command'Xavier Claessens2009-11-044-80/+61
|\
| * Move /me and /say support from EmpathyMessage to EmpathyChat.Xavier Claessens2009-11-012-57/+0
| * Fix topic not always shown, and add /topic command support.Xavier Claessens2009-11-012-23/+61
* | Merge branch 'accountz'Jonny Lamb2009-11-0226-2888/+518
|\ \ | |/ |/|
| * log-store-empathy: refer to "make logs async" bugJonny Lamb2009-10-301-1/+1
| * dispatcher: refer to EmpathyHandler bugJonny Lamb2009-10-301-1/+1
| * idle: added a comment to explain _is_just_connectedJonny Lamb2009-10-301-0/+3
| * idle: don't hardcode 10 seconds as the "just connected" timeJonny Lamb2009-10-301-1/+5
| * idle: add comment about the connect_times hash table typesJonny Lamb2009-10-301-0/+2
| * idle: updated commentJonny Lamb2009-10-301-2/+4
| * utils: remove FIXMEJonny Lamb2009-10-301-2/+0
| * all: log error messages if preparing the account manager failsJonny Lamb2009-10-305-10/+36
| * contact-manager, dispatcher: renamed _new_connection_cb to _status_changed_cbJonny Lamb2009-10-252-6/+6
| * idle: use the TpAccount pointer as key to the hash table, and remove values o...Jonny Lamb2009-10-251-12/+8
| * tp-roomlist: port to new tp-glib account APIJonny Lamb2009-10-242-8/+6
| * log-store: port to new tp-glib account APIJonny Lamb2009-10-242-19/+19
| * log-store-empathy: port to new tp-glib account APIJonny Lamb2009-10-241-17/+19
| * log-manager: port to new tp-glib account APIJonny Lamb2009-10-242-11/+11
| * dispatcher: port to new tp-glib account APIJonny Lamb2009-10-241-27/+48
| * contact: port to new tp-glib account APIJonny Lamb2009-10-242-17/+13
| * contact-manager: port to new tp-glib account APIJonny Lamb2009-10-241-22/+46
| * chatroom: port to new tp-glib account APIJonny Lamb2009-10-242-13/+14
| * chatroom-manager: port to new tp-glib account APIJonny Lamb2009-10-242-41/+27
| * account-settings: port to new tp-glib account APIJonny Lamb2009-10-242-77/+77
| * Add empathy_idle_account_is_just_connected function.Jonny Lamb2009-10-242-0/+70
| * idle: port to new tp-glib account APIJonny Lamb2009-10-241-20/+22
| * Add empathy_account_manager_get_accounts_connected function.Jonny Lamb2009-10-242-0/+36
| * Add empathy_get_account_for_connection function.Jonny Lamb2009-10-242-1/+36
| * Add empathy_idle_get_requested_presence function.Jonny Lamb2009-10-242-12/+44
| * Removed EmpathyAccount{,Manager}.Jonny Lamb2009-10-235-2604/+0
* | dispatcher_request_handles_cb: use request_data->dispatcher to get the self p...Guillaume Desmottes2009-10-261-1/+1
|/
* Enable extra error CFLAGS in libempathy/Guillaume Desmottes2009-10-231-0/+1
* empathy-utils.c: fix casting issuesGuillaume Desmottes2009-10-221-6/+8
* empathy-tp-contact-list.c: fix shadow declaration and uint comparaisonGuillaume Desmottes2009-10-221-6/+6
* empathy-tp-contact-factory.c: fix casting issueGuillaume Desmottes2009-10-221-1/+1
* empathy-time.c: fix shadow declarationGuillaume Desmottes2009-10-221-4/+4
* empathy-status-presets.c: fix casting issuesGuillaume Desmottes2009-10-221-10/+10
* empathy-log-store-empathy.c: fix casting issuesGuillaume Desmottes2009-10-221-12/+13
* empathy-irc-network-manager.c: fix casting issuesGuillaume Desmottes2009-10-221-22/+29
* empathy-dispatcher.c: fix shadow declarationsGuillaume Desmottes2009-10-221-123/+122
* empathy-contact-groups.c: fix casting issuesGuillaume Desmottes2009-10-221-10/+11
* empathy-connection-managers.c: fix shadow declarationsGuillaume Desmottes2009-10-221-14/+14
* empathy-chatroom-manager.c: fix casting issuesGuillaume Desmottes2009-10-221-8/+12
* empathy-account-settings.c: fix uint comparaisonGuillaume Desmottes2009-10-221-4/+4
* empathy-account-settings: fix CLAMP usageGuillaume Desmottes2009-10-221-7/+9
* empathy-tp-chat.c: fix shadow declarationGuillaume Desmottes2009-10-211-2/+2
* empathy-contact: cast data pointersGuillaume Desmottes2009-10-211-2/+4
* empathy-account-manager.c: fix uint comparaisonGuillaume Desmottes2009-10-211-1/+1
* empathy-irc-server: the port is a guintGuillaume Desmottes2009-10-211-1/+1
* Stop building libempathy{,-gtk} as a shared library. Closes bug #599086Jonny Lamb2009-10-212-70/+46
* Ensure we don't try to register invalid bus namesSjoerd Simons2009-10-201-5/+6
* Unset pending_call explicitly instead of implicitlySjoerd Simons2009-10-201-2/+11
* Merge commit 'maiku/bug_598332'Guillaume Desmottes2009-10-191-20/+33
|\
| * Move destruction of connections from finalize to dispose.Mike Ruprecht2009-10-151-8/+12
| * Remove the weak_object parameter when requesting channels.Mike Ruprecht2009-10-151-8/+10
| * Cancel outstanding channel requests if connection to the CM is lost.Mike Ruprecht2009-10-141-4/+11
* | empathy_account_settings_get_tp_params: don't raise an error if tp_protocol i...Guillaume Desmottes2009-10-191-1/+9
* | empathy-account-settings: don't cache the TpConnectionManagerProtocolGuillaume Desmottes2009-10-191-6/+12
* | idle: work around the case if the session doesn't tell us when we go idle (fi...Jonny Lamb2009-10-171-6/+17
* | connectivity: small fix to a debug messageJonny Lamb2009-10-171-2/+2
* | copy empathy_signal_connect_weak from telepathy-gabbleGuillaume Desmottes2009-10-152-0/+90
|/
* remove empathy_account_manager_remove from header; function has been removedGuillaume Desmottes2009-10-051-3/+0
* remove empathy_tp_contact_list_can_add from header; function has been removedGuillaume Desmottes2009-10-051-1/+0
* Revert "Revert "Remove deprecated call to g_mapped_file_free()""Xavier Claessens2009-09-241-8/+1
* Merge commit 'istaz/handle_none'Xavier Claessens2009-09-211-1/+10
|\
| * Fallback to the contact id if present when there is no room id for empathy_tp...Olivier Le Thanh Duong2009-09-211-1/+10
* | Set the ice-udp capability directly as wellSjoerd Simons2009-09-201-1/+3
* | idle: wait for the account manager to be ready before setting initial stateJonny Lamb2009-09-181-2/+29
* | Iterate avatar tokens with a GHashTableIterWill Thompson2009-09-171-30/+19
* | Get rid of the last two _run_ calls in EmpathyWill Thompson2009-09-171-31/+29
* | Fix indentation of previous patchXavier Claessens2009-09-161-1/+3
* | empathy_avatar_new takes ownership of arguments. Do not free filename.Xavier Claessens2009-09-161-2/+2
* | Only handle manually text channels.Cosimo Cecchi2009-09-161-0/+6
* | Dispatch existing channels once we initialize the connection.Cosimo Cecchi2009-09-161-0/+21
|/
* Fix long lines.Cosimo Cecchi2009-09-151-6/+8
* Always call _ensure_channel for text chats.Cosimo Cecchi2009-09-151-10/+42
* Release the busname on disposal.Cosimo Cecchi2009-09-151-4/+31
* Plug some leaksCosimo Cecchi2009-09-142-0/+5
* Assert that we get a non-null account passed when creating a contact for a logSjoerd Simons2009-09-141-0/+1
* When getting messages for a file, pass the account as we already know itSjoerd Simons2009-09-141-14/+4
* Check if the remote-contact is actually there before putting it on the listSjoerd Simons2009-09-141-1/+2
* dispatcher_request_failed: check if conn_data is not NULLGuillaume Desmottes2009-09-101-2/+7
* empathy_account_settings_get_uint32: check if empathy_account_settings_get re...Guillaume Desmottes2009-09-091-0/+2
* chatroom-manager: add a ready propertyJonny Lamb2009-09-081-0/+18
* tp-contact-factory: allow _get_from_handles to call with no handles.Jonny Lamb2009-09-071-0/+5
* chatroom-manager: only parse xml file once the account manager is readyJonny Lamb2009-09-061-1/+31
* Add stream-closed signal to EmpathyCallHandler for when a stream is closedOlivier Crête2009-09-021-0/+16
* Fix long lines.Cosimo Cecchi2009-09-011-2/+4
* Be sure that FindChannelRequest has a ref to the DispatcherCosimo Cecchi2009-09-011-1/+1
* Don't set empty values for the default EmpathyHandlerCosimo Cecchi2009-09-012-0/+14
* Always try to use the Requests interface before calling RequestChannelSjoerd Simons2009-09-011-10/+43
* Add display name for "gtalk"Cosimo Cecchi2009-08-311-0/+1
* Fix a long lineCosimo Cecchi2009-08-311-1/+2
* Use empathy_protocol_icon_name()Cosimo Cecchi2009-08-311-1/+1
* Fall back to the default icon if an empty icon name is setCosimo Cecchi2009-08-311-5/+6
* Always set the icon name on account creation.Cosimo Cecchi2009-08-311-5/+2
* Implement setting icon name to the account and to the settings.Cosimo Cecchi2009-08-314-2/+166
* Be consistent with EmpathyMessage style.Will Thompson2009-08-311-8/+16
* Ack received messages from ourself.Will Thompson2009-08-313-2/+44
* Handle SendError signal correctly, not as a messageWill Thompson2009-08-311-7/+2
* Use char* not EmpathyMessage in TpChat:send-errorWill Thompson2009-08-311-3/+4
* Add functions on the dispatcher to add/remove extra handlersSjoerd Simons2009-08-312-0/+81
* Add a simple abstraction for implementing handlersSjoerd Simons2009-08-315-122/+560
* Merge branch 'do-say-me-think'Will Thompson2009-08-282-15/+59
|\
| * Don't parse message in EmpathyMessage:body setterWill Thompson2009-08-281-15/+2
| * Add empathy_message_new_from_entry()Will Thompson2009-08-282-0/+57
* | Only unref the AccountManager if it's not NULLCosimo Cecchi2009-08-281-1/+3
|/
* When not connected don't apply !offline states but save themSjoerd Simons2009-08-281-5/+7
* ->connected always has the right status, so use that instead of specialcasingSjoerd Simons2009-08-281-8/+1
* Only assume connected when we have neither Connman or NMSjoerd Simons2009-08-281-1/+1
* Slightly improve debug infoSjoerd Simons2009-08-281-1/+2
* Merge commit 'jtellier/reconnect-account'Guillaume Desmottes2009-08-272-0/+50
|\
| * - Added a utility function (empathy_account_reconnect_async) to easilyJonathan Tellier2009-08-262-0/+50
* | Remove libmissioncontrol depsPierre-Luc Beaudoin2009-08-271-2/+2
* | Only request presence when the account is enabled (#593161).Cosimo Cecchi2009-08-271-9/+12
* | Ensure all accounts when getting all propertiesCosimo Cecchi2009-08-261-9/+71
* | Implement empathy_account_refresh_properties()Cosimo Cecchi2009-08-262-7/+20
* | Fix long lines.Cosimo Cecchi2009-08-261-4/+5
* | Restart MC5 when it quits or crashes (#593018).Cosimo Cecchi2009-08-261-28/+47
|/
* Request presence again when an account is enabledCosimo Cecchi2009-08-261-0/+17
* Fix alignmentXavier Claessens2009-08-251-1/+1
* Add human-readable names for Yahoo! Japan and Facebook ChatWill Thompson2009-08-251-0/+2
* Call gettext for translated protocol namesWill Thompson2009-08-251-10/+16
* Wait for the connection to be ready before requesting contacts from it.Jonny Lamb2009-08-251-6/+22
* Make empathy_protocol_name_to_display_name publicCosimo Cecchi2009-08-252-0/+31
* Fix a crash caused by tp-glib emitting invalidated in disposeSjoerd Simons2009-08-251-20/+11
* Fallback to setting the global presence to offline if no account has a better...Jonny Lamb2009-08-251-0/+1
* Free the allocated dirname after usageSjoerd Simons2009-08-241-0/+2
* Fix several coding style issuesSjoerd Simons2009-08-241-1/+1
* Don't use a custom function to build the log dirSjoerd Simons2009-08-241-2/+1
* Have log_store_empathy_search_hit_new lookup accounts properlySjoerd Simons2009-08-241-7/+17
* Split out the account name to dirname translationSjoerd Simons2009-08-241-6/+14
* Ensure that the connection data is setup when handle channelsSjoerd Simons2009-08-241-3/+16
* Add a new _ensure_account APISjoerd Simons2009-08-243-4/+17
* Make the dir names for the logs look nicerSjoerd Simons2009-08-241-4/+6
* Don't override the display_name when creating the accountSjoerd Simons2009-08-241-6/+0
* Return the correct object when querying the dbus-daemon propertySjoerd Simons2009-08-241-2/+1
* Remove unused finalizeSjoerd Simons2009-08-241-16/+0
* Add a new DEBUG domain for the mc4 account importerArnaud Maillet2009-08-242-0/+2
* Use better avatar location: ~/.cache/<cm>/<protocol>/<token>Xavier Claessens2009-08-241-7/+3
* Fix some leaks in _settings_discardSjoerd Simons2009-08-231-13/+13
* If the parameter wasn't known return NULL for the dbus signatureSjoerd Simons2009-08-231-0/+3
* First part of an overhaul of the accounts dialogJonathan Tellier2009-08-223-13/+48
* Make the set_enabled API asyncCosimo Cecchi2009-08-222-16/+48
* Fix long lineCosimo Cecchi2009-08-221-1/+2
* Remove the parameters from the unset pool when we set them againCosimo Cecchi2009-08-221-1/+35
* Merge back from masterSjoerd Simons2009-08-2211-244/+592
|\
| * Revert "Don't use deprecated g_mapped_file_free()"Xavier Claessens2009-08-211-1/+1
| * Don't use deprecated g_mapped_file_free()Kjartan Maraas2009-08-211-1/+1
| * Merge branch 'connman'Jonny Lamb2009-08-207-128/+547
| |\
| | * empathy-connectivity: assume status is offline if GetState failsJonny Lamb2009-08-201-0/+2
| | * empathy-connectivity: add ConnMan supportJonny Lamb2009-08-201-2/+120
| | * configure: enable connectivity building with nm, connman, auto or noneJonny Lamb2009-08-201-2/+4
| | * empathy-connectivity: small style fixJonny Lamb2009-08-201-4/+1
| | * all: save the signal id and use that to disconnect from the signalJonny Lamb2009-08-202-7/+12
| | * empathy-connectivity: only send the new state in the state-change signalJonny Lamb2009-08-192-13/+23
| | * empathy-idle: no need to listen to use-connJonny Lamb2009-08-191-20/+0
| | * empathy-connectivity: remove dispose_runJonny Lamb2009-08-191-10/+0
| | * empathy-connectivity: be sure to get the initial presence on initJonny Lamb2009-08-191-0/+4
| | * empathy-connectivity: init priv->connected to TRUE if we're not using NMJonny Lamb2009-08-191-4/+2
| | * empathy-connectivity: remove useless assignmentJonny Lamb2009-08-191-1/+0
| | * empathy-connectivity: stop using the name "manager" when I mean "connectivity"Jonny Lamb2009-08-191-5/+5
| | * empathy-connectivity: disconnect from NM state change signal on finalizeJonny Lamb2009-08-191-0/+2
| | * empathy-connectivity: only unref the NM client if we're using NMJonny Lamb2009-08-191-0/+2
| | * empathy-connectivity: handle changes in use_conn correctlyJonny Lamb2009-08-191-1/+11
| | * empathy-idle: disconnect from connectivity signals before unreffingJonny Lamb2009-08-191-16/+21
| | * empathy-idle: use EmpathyConnectivity instead of messing with NM itselfJonny Lamb2009-08-192-126/+49
| | * empathy-connectivity: add signals, properties and hook in NMJonny Lamb2009-08-192-12/+186
| | * empathy-debug: add connectivity debug keyJonny Lamb2009-08-182-0/+2
| | * empathy-connectivity: add initial stubsJonny Lamb2009-08-183-0/+196
| * | Merge commit 'lfrb/added'Guillaume Desmottes2009-08-191-4/+7
| |\ \
| | * | Always add to publish listLouis-Francis Ratté-Boulianne2009-08-191-4/+7
| * | | Don't assume that 'subscribe' exists.Will Thompson2009-08-191-7/+10
| | |/ | |/|
| * | Use tp-glib Location stable API (#585843)Guillaume Desmottes2009-08-171-7/+7
| * | Only call SetChatState if the Channel supports itWill Thompson2009-08-141-7/+10
| |/
| * Move the FsElementElementAddedNotifier over the main pipelineOlivier Crête2009-08-071-32/+0
| * Make it possible to set element properties from a config fileOlivier Crête2009-08-071-33/+17
| * Put codec preferences in a configuration fileOlivier Crête2009-08-071-41/+12
* | Rename empathy_account_get_connection_for to empathy_account_get_connection_f...Sjoerd Simons2009-08-223-4/+5
* | Don't hook up to invalidated when creating the connection failedSjoerd Simons2009-08-221-10/+11
* | Let the cached parameters asv own the key stringsSjoerd Simons2009-08-211-7/+9
* | Use g_strdup instead of casting a const gchar* to a gchar*.Xavier Claessens2009-08-211-1/+1
* | Use new api to get connectionsSjoerd Simons2009-08-211-4/+8
* | Add API to get teh TpConnection for an account on a certain pathSjoerd Simons2009-08-212-31/+61
* | When getting an account for an unknown path automagically create the new acco...Sjoerd Simons2009-08-211-14/+5
* | Set the RequestedPresence when creating a new commandSjoerd Simons2009-08-211-1/+36
* | Only set the current global requested on the initial set of accountsSjoerd Simons2009-08-211-13/+9
* | Add a function to get the requested global presence from the account managerSjoerd Simons2009-08-212-0/+21
* | Cache the icon inside EmpathyAccountSettingsSjoerd Simons2009-08-191-7/+9
* | replace UNIQUE_NAME_PREFIX by TP_ACCOUNT_OBJECT_PATH_BASESjoerd Simons2009-08-191-4/+3
* | the status in EmpathyIdle is the status_message not the status stringSjoerd Simons2009-08-191-5/+6
* | Add a debug message for tracking global statusSjoerd Simons2009-08-191-0/+3
* | displatcher -> dispatcherDavyd Madeley2009-08-191-2/+2
* | Get the DisplayName when the account is readySjoerd Simons2009-08-181-5/+8
* | Rename empathy_settings_get_dbus_signature to empathy_account_settings_get_db...Sjoerd Simons2009-08-182-2/+2
* | Rename desired presence to requested presenceSjoerd Simons2009-08-181-19/+19
* | Remove dead codeSjoerd Simons2009-08-181-8/+0
* | rename status-reason to connection-status-reason and notify connection-status...Sjoerd Simons2009-08-181-2/+3
* | Notify when display-name is updatedSjoerd Simons2009-08-171-0/+1
* | No need to check if create_results exists in disposeSjoerd Simons2009-08-171-18/+14
* | Plug some leaksSjoerd Simons2009-08-171-2/+8
* | Removed dead codeSjoerd Simons2009-08-171-10/+0
* | Only cancel the name owner watch if the dbus proxy still existsSjoerd Simons2009-08-171-2/+3
* | Fix coding style (tabs vs. spacesSjoerd Simons2009-08-171-5/+5
* | no need to check for the size of the hash tableSjoerd Simons2009-08-171-2/+1
* | Set presence on accounts when they become readyCosimo Cecchi2009-08-011-1/+8
* | Merge branch 'sjoerd-mc5' into mc5Cosimo Cecchi2009-08-0124-130/+385
|\ \
| * | Fix some coding style issuesSjoerd Simons2009-07-314-23/+30
| * | add some slightly nicer debug messagesSjoerd Simons2009-07-311-2/+3
| * | Add a small comment about emp_account_manager_update_global_presenceSjoerd Simons2009-07-311-0/+3
| * | Fix typoSjoerd Simons2009-07-311-2/+2
| * | Chang the API of AccountManager to have the get lookup the account by nameSjoerd Simons2009-07-306-21/+17
| * | remove usage of empathy_account_equalSjoerd Simons2009-07-304-18/+5
| * | Remove empathy_account_hashSjoerd Simons2009-07-302-9/+0