Evangelos Ribeiro Tzaras
82ff6d0ac5
account: Use explicit notify for account state property
2021-07-20 10:17:17 +02:00
Evangelos 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 Tzaras
2af2b316ec
Various codestyle fixes
2021-07-20 10:17:17 +02:00
Adrien Plazas
d4ee8b4bc9
main-window: Fix the indentation
...
It was purposefully left broken to ease code review.
2021-07-16 08:43:43 +00:00
Adrien Plazas
f4f41d9db5
main-window: Make it a HdyApplicationWindow
...
This gives the window some nice rounded corners, and gives us more
freedom in how to implement the UI.
This purposefully leaves the indentation broken to ease code review, it
will be fixed in the next commit.
2021-07-16 08:43:43 +00:00
Guido Günther
f45ba43720
dbus: Add more DBus properties
...
These are needed to allow Phosh to handle incoming calls on
the locked screen.
2021-07-12 17:36:24 +02:00
Guido Günther
8bf320e006
Drop layer-surface
...
This drops the layer-surface code to put calls on top of the lockscreen.
This only works with wlroots based compositors and even there makes e.g.
unlocking the screen during a phone calls impossible.
2021-07-12 17:36:24 +02:00
Guido Günther
cad39e05ee
dbus-manager: Fix typo in log-domain
2021-07-12 17:33:12 +02:00
Evangelos 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 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 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 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
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
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 Tzaras
cce8318a64
notifier: Explicitly handle unknown callers
...
Closes #288
2021-06-18 17:13:48 +00: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
b550160a0d
util: Make position argument in calls_find_store() optional
2021-06-11 17:52:43 +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
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
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
Guido Günther
6f93b48ef4
Expose call objects on DBus
...
This exports call objects on the session bus:
$ gdbus monitor --session -d sm.puri.Calls
…
/sm/puri/Calls: org.freedesktop.DBus.ObjectManager.InterfacesAdded (objectpath '/sm/puri/Calls/Call/1', {'sm.puri.Calls.Call': {'Inbound': <false>, 'State': <uint32 0>, 'Id': <''>, 'Party': <''>}})
/sm/puri/Calls/Call/1: org.freedesktop.DBus.Properties.PropertiesChanged ('sm.puri.Calls.Call', {'Id': <'0987654321'>, 'Inbound': <true>, 'State': <uint32 5>}, @as [])
/sm/puri/Calls: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (objectpath '/sm/puri/Calls/Call/1', ['sm.puri.Calls.Call'])
$ gdbus call --session --dest sm.puri.Calls --object-path /sm/puri/Calls/Call/1 --method sm.puri.Calls.Call.Hangup
Currenty hangup and accept methods are implemented as well as exposing
the current call state.
2021-06-03 14:29:36 +00:00
Evangelos Ribeiro Tzaras
8d937bedf6
Initial DBus API
2021-06-03 14:29:36 +00: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
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
Evangelos Ribeiro Tzaras
7ad0f4cdd6
provider: Add API to query supported protocols
...
These are the protocols that the provider plugin may support. The origins
must be queried independently whether or not they support any given protocol.
Example: A SIP origin/account may or may not support the "tel" protocol.
2021-05-28 17:02:02 +02:00
Evangelos Ribeiro Tzaras
6d8c227b24
calls-record: Introduce the protocol property
...
This is in preparation for supporting multiple providers (which are handling
different protocols/URI schemes).
This commit also changes the underlying database schema.
2021-05-28 17:02:02 +02:00
Evangelos Ribeiro Tzaras
53f69b06dd
call: Introduce protocol property
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
1e84812938
util: Add simple API to query protocol
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
80ec7d8a35
account-provider: Add debugging in the public functions
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
fecdc1fff8
cleanup: Fix calls_origin_get_name() related memory leaks
...
Document calls_origin_get_name() correctly as transfer-full.
Additionaly fix related memory leaks.
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
1543802c88
provider: whitespace and indentation
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
2ac43f391a
manager: Set peas search path only once
...
There is no need to redo it for every added plugin.
2021-05-20 02:52:11 +02:00
Mohammed Sadiq
b1278f6140
build: Avoid building files multiple times
...
We don't have to build each source for every test, instead we could
create a static library link it with every test, which will be a lot
faster.
2021-05-17 20:00:04 +05:30
Evangelos Ribeiro Tzaras
14ef4f6b17
Add CallsAccountProviderInterface
...
This interface should by implemented by providers for which the user can add
or remove accounts.
2021-05-04 06:41:43 +02:00
Evangelos Ribeiro Tzaras
781adaddee
sip: origin: Use CallsAccountState instead of SipAccountState
2021-05-04 05:57:42 +02:00
Evangelos Ribeiro Tzaras
0e5bd82568
Add CallsAccountInterface
...
This interface should be implemented by origins which represent an online
account. This means they must have a implement a property representing the
credentials and another representing the account state (online, offline, etc).
2021-05-04 05:57:42 +02:00
Evangelos Ribeiro Tzaras
3f72d34c49
Add CallsCredentials class and use it in CallsSipProvider
...
CallsCredentials is a dumb container to store account credentials.
This is done in preparation for the account management in the UI.
2021-05-04 05:57:06 +02:00
Evangelos Ribeiro Tzaras
f9a324fc6f
manager: add debug messages when adding or removing origins
2021-04-27 11:39:09 +02:00
Evangelos Ribeiro Tzaras
8a4d408f3f
manager: remove unused CallsProvider argument from functions
...
Both add_origin() and remove_origin() don't really need it.
2021-04-27 11:39:09 +02:00
Evangelos Ribeiro Tzaras
b71227aae5
call: doc: Indicate ownership in docstrings
2021-04-27 11:38:58 +02:00
Evangelos Ribeiro Tzaras
5ed24c4ed7
doc: Fix gtk-doc transfer annotations
2021-04-27 11:38:26 +02:00
Evangelos Ribeiro Tzaras
70f1df7e0e
build: separate version from the rest of the configuration data
...
This should make sure that we always have 'config.h' available and
should fix issues with flatpak build as seen in #257 :
`fatal error: config.h: No such file or directory`
2021-04-27 01:55:13 +02:00
Evangelos Ribeiro Tzaras
d0194fe534
manager: g_assert in static functions
2021-04-25 18:12:59 +02:00
Evangelos Ribeiro Tzaras
c2c3f64102
codestyle: new-call-box
2021-04-25 18:12:59 +02:00
Evangelos Ribeiro Tzaras
d65284acaa
codestyle: align function prototypes in calls-origin header
...
This makes it a easier on the eyes.
2021-04-25 18:12:59 +02:00
Evangelos Ribeiro Tzaras
868d9e36da
codestyle: get rid of CALLS_SET_PTR_PROPERTY macro
...
One more step towards fixing #214
In `calls-ofono-call.c` the changed code also adheres to the newly introduced
coding style.
2021-04-25 18:12:59 +02:00
Evangelos Ribeiro Tzaras
042478a8eb
call-record: Get rid of macros
...
While these macros are not too bad, they will still be removed for the sake
of consistency (no other purism project uses macros this heavily).
Fixes part of #214
2021-04-25 18:12:59 +02:00
Evangelos Ribeiro Tzaras
4d405e6dcb
application: add --version flag
...
Closes #256
2021-04-16 19:57:03 +02:00
Evangelos Ribeiro Tzaras
9a4debe87e
codestyle: application
2021-04-16 19:47:01 +02:00
Evangelos Ribeiro Tzaras
21666fc7d4
best-match: Don't set NULL phone numbers when updating country code
...
Also related to #255
2021-04-12 14:02:26 +02:00
Evangelos Ribeiro Tzaras
a072d8c7e3
best-match: avoid using NULL phone number
...
Fixes #255
2021-04-12 14:02:19 +02:00
Evangelos Ribeiro Tzaras
9703b1e43e
best-match: disconnect old signal handlers
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
0bd6d7f2a5
best-match: Lookup contact if country code changed
...
Closes #217
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
25d651c834
manager: set default origin
...
This is a bit of a hack to get the country code property hooked up
and will require a rework when multiple provider support is being added.
As the default origin is not being used anywhere else in the code
it's currently not a problem that we're not tracking if the default
origin is being removed.
Additionally test-manager.c needed some adjustment.
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
622827d293
best-match: Use the country code
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
e5832bbad3
application: Use the country code
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
7d69d78b70
origin: Add country-code property
...
And add a binding in CallsManager for the default origin
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
69b170ecfe
best-match: g_return_if_fail if not GeeCollection
...
Closes #254
Closes #227
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
f8a57edc6d
contacts-provider: fix docstring
...
The caller takes ownership of the returned `CallsBestMatch`, so
this should be reflected in the docstring
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
f84d3c0adf
call: g_return_if_fail: type check calls_call_get_contact ()
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
32c89ca9dd
contact-provider: remove trailing whitespaces
2021-04-06 14:27:26 +00:00
Guido Günther
e5827adb60
calls: Fix gtk-doc transfer annotation
...
Broken-by: 501d2914
2021-04-06 13:01:36 +00:00
Guido Günther
01f015a21c
provider: Fix gtk-doc transfer annotations
...
Broken-by: 9e92fb88
2021-04-06 13:01:36 +00:00
Guido Günther
443d23dd56
build: deduplicate sources
...
Shorten the needed sources from
calls_sources, calls_enum_sources, calls_resources,
wl_proto_sources, wayland_sources,
to
calls_sources
so adding new things such as generated dbus sources doesn't have to
happen in four locations but just one.
2021-04-06 14:18:06 +02:00
Guido Günther
5933a4005d
build: Move generated souces before source file list
...
This will be needed in the next commit
2021-04-06 12:50:31 +02:00
Evangelos Ribeiro Tzaras
9e92fb88af
provider: Add API for loading and unloading provider plugins
...
This is also used for our tests. In order to avoid code duplication
this is being moved to calls-provider.{c,h}.
2021-04-05 06:13:44 +00:00
Mohammed Sadiq
c30a41ffa9
Let calls-call be an abstract class
...
And adapt to changes.
A calls-mm-call IS-A calls-call (and so on)
2021-04-05 09:38:03 +05:30
Mohammed Sadiq
a30e1eaa8f
provider: Implement default methods
...
Simply return NULL when these methods are called.
If not implemented, calling these methods may result
in crash when the subclasses haven't implemented them.
2021-04-04 18:16:48 +05:30
Mohammed Sadiq
faa35e90dc
provider: Rename a variable
...
Provider is no longer an interface
2021-04-04 18:12:46 +05:30
Evangelos Ribeiro Tzaras
d67e690f33
new-call-box: Connect signals only if origins non-NULL
...
Fixes #252
2021-04-03 06:41:54 +00:00
Mohammed Sadiq
dc7c676df8
provider: Avoid private data
...
We only have a dummy variable here
2021-04-03 07:22:27 +05:30
Evangelos Ribeiro Tzaras
685aa1950e
application: open sip uri
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
de44a17fe5
sip: use ipv4 exclusively for now
...
IPv6 should work, but sofia's outbound engine keep printing
errors involving the outbound engine. Working theory:
Failing ICMPv6 (pings) can make sofia think we don't have connectivity.
Note that we also don't get any answers from the SIP servers we tried so far.
2021-04-03 00:08:31 +02:00
Guido Günther
55559d91db
window: Don't unhibit with 0 cookie
...
The upper layers do not bother whether there's an inhibitor when
calling uninhibit (and shouldn't) so don't put out out warning
when called with 0 cookie.
Closes : #249
2021-04-01 16:50:51 +00:00
Guido Günther
b04d564bcf
manager: Allow to add plugin dir via environent
...
This eases testing of plugins from the source tree:
CALLS_PLUGIN_DIR=_build/plugins/dummy/ _build/src/gnome-calls -p dummy
2021-04-01 14:07:27 +02:00
Evangelos Ribeiro Tzaras
94345e0916
manager: hang up secondary calls
2021-03-15 09:24:46 +00:00
Evangelos Ribeiro Tzaras
24f53cd927
manager: remove unused function
2021-03-15 09:24:46 +00:00
Evangelos Ribeiro Tzaras
78c0fb1ed7
ringer: use quiet profile for non-primary calls
2021-03-15 09:24:46 +00:00
Evangelos Ribeiro Tzaras
3aebfcc6d1
contact-row: remove deprecated function
...
Fixes #234
2021-03-09 22:45:01 +01:00
Evangelos Ribeiro Tzaras
35f45d8373
meson: bump required libhandy-1 version >1.1.90
2021-03-09 16:50:13 +01:00
Guido Günther
97c2dde0eb
notifier: Fix compile warning
...
Fixes
../src/calls-notifier.c: In function ‘state_changed_cb’:
/usr/include/glib-2.0/glib/gmacros.h:1132:17: warning: ‘notification’ may be used uninitialized in this function [-Wmaybe-uninitialized]
which wasn't problematic with the current code flow but
can easily become a problem when shuffling stuff around.
2021-03-01 10:04:02 +01:00