call: Add call-type property
The designs for the call details show information on the type of the call: https://gitlab.gnome.org/Teams/Design/app-mockups/blob/master/calls/calls.png So f.e. "Cellular", "Matrix WebRTC Video Call". These properties can potentially also be useful in choosing the mechanism to use for the audio controls from the call display.
This commit is contained in:
@@ -53,6 +53,7 @@ enum {
|
||||
PROP_NAME,
|
||||
PROP_STATE,
|
||||
PROP_PROTOCOL,
|
||||
PROP_CALL_TYPE,
|
||||
N_PROPS,
|
||||
};
|
||||
|
||||
@@ -69,6 +70,7 @@ typedef struct {
|
||||
char *name;
|
||||
CallsCallState state;
|
||||
gboolean inbound;
|
||||
CallsCallType call_type;
|
||||
} CallsCallPrivate;
|
||||
|
||||
G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (CallsCall, calls_call, G_TYPE_OBJECT)
|
||||
@@ -127,6 +129,10 @@ calls_call_set_property (GObject *object,
|
||||
calls_call_set_state (self, g_value_get_enum (value));
|
||||
break;
|
||||
|
||||
case PROP_CALL_TYPE:
|
||||
priv->call_type = g_value_get_enum (value);
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
}
|
||||
@@ -162,6 +168,10 @@ calls_call_get_property (GObject *object,
|
||||
g_value_set_string (value, calls_call_get_protocol (self));
|
||||
break;
|
||||
|
||||
case PROP_CALL_TYPE:
|
||||
g_value_set_enum (value, calls_call_get_call_type (self));
|
||||
break;
|
||||
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
}
|
||||
@@ -236,6 +246,16 @@ calls_call_class_init (CallsCallClass *klass)
|
||||
NULL,
|
||||
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
|
||||
|
||||
properties[PROP_CALL_TYPE] =
|
||||
g_param_spec_enum ("call-type",
|
||||
"Call type",
|
||||
"The type of call (f.e. cellular, sip voice)",
|
||||
CALLS_TYPE_CALL_TYPE,
|
||||
CALLS_CALL_TYPE_UNKNOWN,
|
||||
G_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY |
|
||||
G_PARAM_STATIC_STRINGS);
|
||||
|
||||
g_object_class_install_properties (object_class, N_PROPS, properties);
|
||||
|
||||
/**
|
||||
@@ -400,6 +420,22 @@ calls_call_set_state (CallsCall *self,
|
||||
g_object_unref (G_OBJECT (self));
|
||||
}
|
||||
|
||||
/**
|
||||
* calls_call_get_call_type:
|
||||
* @self: a #CallsCall
|
||||
*
|
||||
* Returns: The type of call, or #CALLS_CALL_TYPE_UNKNOWN if not known.
|
||||
*/
|
||||
CallsCallType
|
||||
calls_call_get_call_type (CallsCall *self)
|
||||
{
|
||||
CallsCallPrivate *priv = calls_call_get_instance_private (self);
|
||||
|
||||
g_return_val_if_fail (CALLS_IS_CALL (self), CALLS_CALL_TYPE_UNKNOWN);
|
||||
|
||||
return priv->call_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* calls_call_answer:
|
||||
* @self: a #CallsCall
|
||||
|
||||
Reference in New Issue
Block a user