Commit Graph
100 Commits
Author SHA1 Message Date
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 1a4b501653 sip: provider: Rename test environment variable 2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras fd9b57c1b3 sip: provider: Load credentials from GKeyFile 2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 58331afcf7 sip: provider: Use g_auto and GStrv
Instead of char** and g_strfreev()
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras d5bf31bdaf manager: Temporarily hold a reference to provider being unloaded 2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 2b31a9677e manager: Emit signal when loaded providers have changed 2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras cc3a562f03 manager: Add API to query loaded providers 2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras a638b64402 account: Add address property 2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras dd3fbf646e account: Add API to query account state 2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 82ff6d0ac5 account: Use explicit notify for account state property 2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras babd013bd7 Remove CallsCredentials and adapt to changes
The provider knows best which credentials it needs and CallsCredentials
was not generic to begin with, so get rid of it.
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 10a2046549 dir-locals: Treat more G_* macros as including a semicolon
This makes emacs not insist on indendation.
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 2af2b316ec Various codestyle fixes 2021-07-20 10:17:17 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 41fe9033ac HACKING: Fix style around signals
We actually never used the array initialization as suggested.
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras c1d7b9bbd6 Document and release 41.alpha 2021-07-16 13:09:20 +02:00
Evangelos Ribeiro Tzaras 293858dc52 d/gbp.conf: Remove hook that bumps project version in meson.build
This does not work well with GNOME's versioning.
2021-07-16 12:08:59 +02:00
Evangelos Ribeiro Tzaras 41efd26dfe meson: Conform to GNOME versioning 2021-07-16 12:08:59 +02:00
Evangelos Ribeiro Tzaras 65b0408281 metainfo: Update mimetypes
Follow up from #229
2021-07-16 12:08:59 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 864a15d799 sip: origin: Explicitly include contact header for sofia > 1.13
Fixes #304
2021-07-16 09:11:27 +00:00
Evangelos Ribeiro Tzaras e4097112e7 doap: Change URL of homepage 2021-07-14 11:12:11 +02:00
Evangelos Ribeiro Tzaras 692a5cb990 debian: Change URL of homepage 2021-07-14 11:12:11 +02:00
Evangelos Ribeiro Tzaras 9c63a357b0 d/copyright: Dropped wayland sources
Follow up from !364 and !371
2021-07-14 11:12:11 +02:00
Evangelos Ribeiro Tzaras a0e203bf3a meson: Remove wayland option
Follow up to !364
2021-07-13 04:21:53 +02:00
Evangelos Ribeiro Tzaras 9ebb738b0f flatpak: Change calls URL 2021-07-13 03:29:57 +02:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 4bfcf99155 debian: Remove old desktop files on upgrade 2021-07-12 13:35:57 +00:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 7224998a1c project: Use org.gnome prefix in app id and adapt to changes
In preparation to moving to GNOME all the IDs, DBus object paths, etc should
change.

Closes #303
2021-07-12 13:35:57 +00:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 69b919d7ab DBus: Use org.gnome prefix and adapt to changes
In preparation to moving to GNOME all the IDs, DBus object paths, etc should
change.
2021-07-12 13:35:57 +00:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras b74601f7c4 schema: Use org.gnome prefix and adapt to changes
In preparation to moving to GNOME all the IDs, DBus object paths, etc should
change.
2021-07-12 13:35:57 +00:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras 6e371d2f3f resources: Use /org/gnome prefix and adapt to changes
In preparation to moving to GNOME all the IDs, DBus object paths, etc should
change.
2021-07-12 13:35:57 +00:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras bd9dd8475f docs: Change homepage to GNOMEs gitlab 2021-07-12 13:35:57 +00:00
Evangelos Ribeiro TzarasandEvangelos Ribeiro Tzaras f771fd0573 meson: Change homepage to GNOMEs gitlab 2021-07-12 13:35:57 +00:00
Evangelos Ribeiro Tzaras d19e5774e9 ci: Switch to Debian Bullseye images 2021-07-12 12:03:57 +02:00
Evangelos Ribeiro Tzaras 0b5d934152 doap: Add gnome user ids 2021-07-05 14:17:58 +02:00
Evangelos Ribeiro Tzaras 9f45e8b0a5 call-display: Ellipsize labels at the end
Fixes #283
2021-07-01 02:02:09 +02:00
Evangelos Ribeiro Tzaras c293b7029d best-match: Preliminary handling of SIP addresses
This does not perform any contact lookup, but instead introduces a benign
hack to be able to get something sensible when calling
`calls_best_match_get_name()` and avoids unnecessary warnings.
2021-07-01 02:01:32 +02:00
Evangelos Ribeiro Tzaras fd45f04886 best-match: codestyle 2021-07-01 02:00:52 +02:00
Evangelos Ribeiro Tzaras 49c347ca31 meson: Add postinstall script to compile schemas etc
Closes #298
2021-06-30 00:39:07 +02:00
Evangelos Ribeiro Tzaras 23e7fd3a60 manager: Don't use peas_engine_prepend_search_path
as it does not really "prepend" the search path.
See https://gitlab.gnome.org/GNOME/libpeas/-/issues/19

Closes #300
2021-06-29 14:47:03 +02:00
Evangelos Ribeiro Tzaras e00b90d64e application: settings: Add autoload-plugins setting
This setting will be used to define the provider plugins to be loaded on
application startup if calls has been invoked without `--provider`
2021-06-26 08:57:53 +02:00
Evangelos Ribeiro Tzaras 4f6fb722b1 application: Allow invoking with multiple -p arguments
When calls is invoked with one or more `--provider` arguments,
the application will only load the providers specified by the command line.

If no `--provider` argument is given, the application will instead fall back
to loading providers defined in the settings (see next commit).
2021-06-26 08:57:53 +02:00
Evangelos Ribeiro Tzaras f930874d00 sip: provider: Keep provider alive while there are still origins
CallsSipOrigin accesses the CallsSipContext (owned by the provider) in its
dispose() which will be invalid once CallsSipProvider gets freed.
This commit will make certain that the provider stays alive for the lifetime
of it's origins.
2021-06-26 08:56:18 +02:00
Evangelos Ribeiro TzarasandGuido Gunther cfd3c2a7fe util: Get rid of conditional compilation in calls_find_in_store()
This is not needed anymore after bumping the required glib version to 2.64.
2021-06-25 07:34:38 +00:00
Evangelos Ribeiro TzarasandGuido Gunther a4c2b64319 meson: Disable deprecation warning for e-d-s
After bumping minimum glib requirements we get a bunch of
```
In file included from /usr/include/evolution-data-server/libedataserver/libedataserver.h:32,
                 from /usr/include/evolution-data-server/libebook-contacts/libebook-contacts.h:23,
                 from ../src/service.c:48:
/usr/include/evolution-data-server/libedataserver/e-flag.h:54:8: warning: 'GTimeVal' is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
   54 |        GTimeVal *abs_time);
      |        ^~~~~~~~
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
                 from /usr/include/glib-2.0/glib.h:30,
                 from ../src/service.c:36:
/usr/include/glib-2.0/glib/gtypes.h:547:8: note: declared here
  547 | struct _GTimeVal
      |        ^~~~~~~~~
```

Upstream recommends avoiding the warnings by defining `EDS_DISABLE_DEPRECATED`,
see https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/332.
2021-06-25 07:34:38 +00:00
Evangelos Ribeiro TzarasandGuido Gunther 2df190c548 meson: bump minimum and maximum glib to 2.64 and 2.68
This allows us to get rid of some conditional compilation in src/util.c
2021-06-25 07:34:38 +00:00
Evangelos Ribeiro Tzaras 0cdb15349c doap: Remove Bob from maintainer list
This is done in preparation to moving to GNOME infrastructure.
Every maintainer in the doap file needs to have a GNOME (LDAP) account.

https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/363#note_1136104
2021-06-23 10:59:53 +02:00
Evangelos Ribeiro Tzaras 37d4010156 ci: Reenable flatpak builds 2021-06-22 06:30:40 +02:00
Evangelos Ribeiro Tzaras 2e07a62f75 flatpak: Update ModemManager to 1.16 2021-06-22 06:27:26 +02:00
Evangelos Ribeiro Tzaras d7eba40df0 flatpak: Update folks to 0.15 2021-06-22 06:27:24 +02:00
Evangelos Ribeiro Tzaras 1f02e27797 flatpak: Update e-d-s to 3.40 2021-06-22 06:27:23 +02:00
Evangelos Ribeiro Tzaras d5ae0fc2f2 flatpak: Update gom to 0.4.0 2021-06-22 06:27:18 +02:00
Evangelos Ribeiro Tzaras de6293c05e meson: Passing -fPIE explicitly is discouraged
as indicated by the logs during configuration:

`WARNING: Use the 'pie' kwarg instead of passing '-fpie' manually to 'provider'`
2021-06-22 04:37:11 +02:00
Evangelos Ribeiro Tzaras 59fb343037 meson: Fix typo in gnome.compile_schemas
Logs during configuration revealed a typo:

data/meson.build:72: WARNING: Passed invalid keyword argument "depends_files".
WARNING: This will become a hard error in the future.

`depends_file` is supposed to be `depend_file`.
2021-06-22 04:37:11 +02:00
Evangelos Ribeiro Tzaras 7295607e32 meson: bump required version to 0.49.0
The pie kwarg was introduced with 0.49.0.
Amber ships 0.49.0, Amber-phone 0.51.0 and we have 0.56.2 in Debian,
so bumping the requirement should be unproblematic.
2021-06-22 04:37:11 +02:00
Evangelos Ribeiro Tzaras 8a230fc5b5 sip: origin: No need to explicitly clear nua handles
Memory allocations from su_home_t will get cleaned up, when the home is freed.
2021-06-21 13:20:32 +02:00
Evangelos Ribeiro Tzaras a803294c4a sip: origin: Handle unregistering (going offline)
and set the account state accordingly.
2021-06-18 19:29:25 +02:00
Evangelos Ribeiro Tzaras e6c7994abc sip: origin: Remove unnecessary notify 2021-06-18 19:29:25 +02:00
Evangelos Ribeiro Tzaras 5bd84043b9 sip: origin: codestyle 2021-06-18 19:28:12 +02:00
Evangelos Ribeiro Tzaras cce8318a64 notifier: Explicitly handle unknown callers
Closes #288
2021-06-18 17:13:48 +00:00
Evangelos Ribeiro Tzaras c520bdae70 run: Allow passing arguments to calls when running under gdb
Without this patch running f.e. `CALLS_GDB=1 _build/run -p sip` will not work.
2021-06-18 16:50:11 +02:00
Evangelos Ribeiro Tzaras dbb829be06 debug: Add G_LOG_DOMAIN to every file using g_debug() 2021-06-18 11:12:13 +02:00
Evangelos Ribeiro Tzaras 160d3e42a8 ringer: Follow coding style for G_LOG_DOMAIN
Closes #294
2021-06-18 11:12:13 +02:00
Evangelos Ribeiro Tzaras 4324f683e7 run: Run under gdb when CALLS_GDB is set to 1 2021-06-18 10:21:28 +02:00
Evangelos Ribeiro Tzaras 4948148bfe Document and release 0.3.4 2021-06-12 17:24:23 +02:00
Evangelos Ribeiro Tzaras f74f4b6469 test: manager: Expanded *has_provider() testing 2021-06-11 17:52:56 +02:00
Evangelos Ribeiro Tzaras b550160a0d util: Make position argument in calls_find_store() optional 2021-06-11 17:52:43 +02:00
Evangelos Ribeiro Tzaras 736c17a4bc sip: origin: Fix if condition in dispose()
This should make sure that origins go offline
2021-06-11 17:51:06 +02:00
Evangelos Ribeiro Tzaras ccae753194 manager: codestyle 2021-06-11 17:50:42 +02:00
Evangelos Ribeiro Tzaras ddcd91d3d9 manager: Fix whitespace 2021-06-11 17:50:22 +02:00
Evangelos Ribeiro Tzaras 9f9ea16509 dir-locals: Treat G_* macros as including a semicolon
Otherwise without appending a semicolon explicitly to the macros, emacs
will insist on indentation.
2021-06-11 17:20:48 +02:00
Evangelos Ribeiro Tzaras 9b5508c627 README: Reword plugin search directory section to be more accurate 2021-06-04 17:06:07 +00:00
Evangelos Ribeiro Tzaras f81ed3d063 run: Add plugin search directory
This makes sure we can load the plugins from the build directory.
2021-06-04 17:06:07 +00:00
Evangelos Ribeiro Tzaras c0ad87fdd4 desktop-file: Register as sip and sips URI scheme handler
Closes #229
2021-06-04 06:43:08 +00:00
Evangelos Ribeiro Tzaras feaace73f4 meson: Use stricter compilation warnings and errors
All the previous commits make sure we don't fail building with these flags.
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras acc35ad224 main-window: Add default case to switch statement
As caught by compiling with `-Wswitch-default`
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras 90b598ed5b record-store: Add default case to switch statements
As caught by compiling with `-Wswitch-default`
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras f097a39e04 call-display: Add default case to switch statement
As caught by compiling with `-Wswitch-default`
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras 6c146897d4 mm: origin: Don't shadow props variable
As caught by compiling with `'-Wshadow`
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras 521979ef69 ofono: call: Don't shadow props variable
As caught by compiling with `-Wshadow`
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras 7988ddf85b sip: media-pipeline: Don't shadow props variable
As caught by compiling with `-Wshadow`
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras 2847508034 Fix missing-declarations warnings all over the codebase
As caught by compiling with `-Wmissing-declarations`
by either making functions static, or declaring them in the header.
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras 96a7d901c1 Fix old-style warnings all over the codebase
As caught by compiling with `-Wold-style-definition` and `-Wstrict-prototypes`.
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras 38abbc5b18 record-store: codestyle 2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras 9877f4469b display: Fix typo 2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras 588955b59e display: codestyle 2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras 8d937bedf6 Initial DBus API 2021-06-03 14:29:36 +00:00
Evangelos Ribeiro Tzaras 2ae79ea06f Update README: Explain how to start calls without installing
Additionally get rid of the /usr/local/stow/calls-git prefix.
2021-06-03 13:27:56 +02:00
Evangelos Ribeiro Tzaras 04b81dd664 Add run script to the build directory
This allows starting calls by invoking something like _build/run.

Closes #292
2021-06-03 13:13:33 +02:00
Evangelos Ribeiro Tzaras 3d51d627d3 meson: Compile schemas in build directory
To make it easier to run from the build directory without having to install.
2021-06-03 12:54:46 +02:00
Evangelos Ribeiro Tzaras 23944acc91 d/control: Add libxml2-utils
We are requesting xml-stripblanks in gresources.xml and are missing
xmllint without this dependency.
2021-06-03 12:43:01 +02:00
Evangelos Ribeiro Tzaras 538d98f21d ci: disable flatpak build
Reenable the build after the build failures from #291 have been sorted out.
2021-06-02 12:22:43 +02:00
Evangelos Ribeiro Tzaras cb533aabb7 manager: Update country code
By connecting to the "notify::country-code" signal of our origins.
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras 7d3426598d application: settings: Add country code setting
This helps to unbreak country code lookup (see 5fd39121).
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras 4990529c6c tests: manager: Add multiple provider tests
The test suite can be further expanded later. For now this suffices to
have some basic regression testing for multiple provider support in place.
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras dde4bd8abf sip: provider: Don't warn when trying to add account multiple times
A g_debug() will suffice which will let us get rid of g_test_expect_message() to
as we don't need to guard against the warning anymore.
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras 9c91a33604 test: manager: Use more appropriate g_assert_*() calls 2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras 44f2002f86 manager: Differentiate the NO_ORIGIN state
This avoids confusion when only the SIP plugin is loaded, but no account
is being used.

For this we introduce two new functions in the abstract CallsProvider class:
`is_modem()` to indicate whether the the provider deals with PTSN telephony and
`is_operational()` which by default simply checks if there any avalaible origins
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras 98d66743a1 application: Don't add a provider if one is already present
If we initially invoked `gnome-calls -p sip` and later invoke
`gnome-calls sip:user@host` we don't expect to have the default MM provider
added.
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras 3f3b108cea new-call-box: Honour auto-use-default-origins setting 2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras fef1531749 application: Add CallsSettings class
This makes it easy to access application wide settings.
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras 0b2f146053 manager: support multiple providers
This includes the following changes:
- Introduce a `providers` hash table to keep track of multiple CallProvider's
  and remove the `provider` member
- Remove `calls_manager_get_provider()` and `calls_manager_set_provider()`
  in favour of `calls_manager_add_provider()`, `calls_manager_remove_provider()`
  and `calls_manager_has_provider()`
- Introduce a `origins` GListStore to keep track of available origins.
  `origins` is updated in `items_changed_cb()` when the origins of any
  CallsProvider are updated.
- Adapt to changes with respect to `calls_manager_get_origins()`.
- Introduce `origins_by_protocol` hash table to keep track of available origins
  per protocol.
- Adjust tests
- We temporarily break country code lookup which was handled previously
  with the "default-origin" mechanism. We will add it back to the CallsSettings
  class which will provide a better application-wide mechanism.
2021-06-01 14:52:18 +02:00
Evangelos Ribeiro Tzaras 0c966fdf83 origin: Add API to query supported protocols
This will allow selecting a suitable origin when placing outgoing calls.
2021-05-28 17:02:02 +02:00