call: Introduce protocol property
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user