call: Introduce protocol property

This commit is contained in:
Evangelos Ribeiro Tzaras
2021-04-26 12:00:02 +02:00
parent 503e5c2154
commit 53f69b06dd
7 changed files with 71 additions and 0 deletions

View File

@@ -55,6 +55,7 @@ enum {
PROP_NUMBER,
PROP_NAME,
PROP_STATE,
PROP_PROTOCOL,
N_PROPS,
};
@@ -90,6 +91,12 @@ calls_call_real_get_inbound (CallsCall *self)
return FALSE;
}
static const char *
calls_call_real_get_protocol (CallsCall *self)
{
return NULL;
}
static void
calls_call_real_answer (CallsCall *self)
{
@@ -140,6 +147,10 @@ calls_call_get_property (GObject *object,
g_value_set_enum (value, calls_call_get_state (self));
break;
case PROP_PROTOCOL:
g_value_set_string (value, calls_call_get_protocol (self));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
@@ -156,6 +167,7 @@ calls_call_class_init (CallsCallClass *klass)
klass->get_name = calls_call_real_get_name;
klass->get_state = calls_call_real_get_state;
klass->get_inbound = calls_call_real_get_inbound;
klass->get_protocol = calls_call_real_get_protocol;
klass->answer = calls_call_real_answer;
klass->hang_up = calls_call_real_hang_up;
klass->tone_start = calls_call_real_tone_start;
@@ -190,6 +202,13 @@ calls_call_class_init (CallsCallClass *klass)
CALLS_CALL_STATE_ACTIVE,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
properties[PROP_PROTOCOL] =
g_param_spec_string ("protocol",
"Protocol",
"The protocol used for this call",
NULL,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (object_class, N_PROPS, properties);
/**
@@ -313,6 +332,22 @@ calls_call_get_inbound (CallsCall *self)
return CALLS_CALL_GET_CLASS (self)->get_inbound (self);
}
/**
* calls_call_get_protocol:
* @self: a #CallsCall
*
* Get the protocol of the call (i.e. "tel", "sip")
*
* Returns: The protocol used or %NULL when unknown
*/
const char *
calls_call_get_protocol (CallsCall *self)
{
g_return_val_if_fail (CALLS_IS_CALL (self), NULL);
return CALLS_CALL_GET_CLASS (self)->get_protocol (self);
}
static inline gboolean
tone_key_is_valid (gchar key)
{

View File

@@ -54,6 +54,7 @@ struct _CallsCallClass
const char *(*get_name) (CallsCall *self);
CallsCallState (*get_state) (CallsCall *self);
gboolean (*get_inbound) (CallsCall *self);
const char *(*get_protocol) (CallsCall *self);
void (*answer) (CallsCall *self);
void (*hang_up) (CallsCall *self);
void (*tone_start) (CallsCall *self,
@@ -66,6 +67,7 @@ const char *calls_call_get_number (CallsCall *self);
const char *calls_call_get_name (CallsCall *self);
CallsCallState calls_call_get_state (CallsCall *self);
gboolean calls_call_get_inbound (CallsCall *self);
const char *calls_call_get_protocol (CallsCall *self);
void calls_call_answer (CallsCall *self);
void calls_call_hang_up (CallsCall *self);
void calls_call_tone_start (CallsCall *self,