dummy-{provider,origin,calls}: Fix up dummy provider

* Implement CallsMessageSource
* Fix Provider object creation
* Add calls_dummy_provider_add_origin
This commit is contained in:
Bob Ham
2018-06-11 12:42:16 +01:00
parent 4e604b7762
commit 4d453f4b5b
4 changed files with 52 additions and 35 deletions

View File

@@ -23,6 +23,7 @@
*/ */
#include "calls-dummy-call.h" #include "calls-dummy-call.h"
#include "calls-message-source.h"
#include "calls-call.h" #include "calls-call.h"
#include <glib/gi18n.h> #include <glib/gi18n.h>
@@ -35,9 +36,12 @@ struct _CallsDummyCall
CallsCallState state; CallsCallState state;
}; };
static void calls_dummy_call_message_source_interface_init (CallsCallInterface *iface);
static void calls_dummy_call_call_interface_init (CallsCallInterface *iface); static void calls_dummy_call_call_interface_init (CallsCallInterface *iface);
G_DEFINE_TYPE_WITH_CODE (CallsDummyCall, calls_dummy_call, G_TYPE_OBJECT, G_DEFINE_TYPE_WITH_CODE (CallsDummyCall, calls_dummy_call, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (CALLS_TYPE_MESSAGE_SOURCE,
calls_dummy_call_message_source_interface_init)
G_IMPLEMENT_INTERFACE (CALLS_TYPE_CALL, G_IMPLEMENT_INTERFACE (CALLS_TYPE_CALL,
calls_dummy_call_call_interface_init)) calls_dummy_call_call_interface_init))
@@ -192,6 +196,13 @@ calls_dummy_call_call_interface_init (CallsCallInterface *iface)
iface->tone_stop = tone_stop; iface->tone_stop = tone_stop;
} }
static void
calls_dummy_call_message_source_interface_init (CallsCallInterface *iface)
{
}
static void static void
calls_dummy_call_init (CallsDummyCall *self) calls_dummy_call_init (CallsDummyCall *self)
{ {

View File

@@ -23,6 +23,7 @@
*/ */
#include "calls-dummy-origin.h" #include "calls-dummy-origin.h"
#include "calls-message-source.h"
#include "calls-origin.h" #include "calls-origin.h"
#include "calls-dummy-call.h" #include "calls-dummy-call.h"
@@ -37,9 +38,12 @@ struct _CallsDummyOrigin
GList *calls; GList *calls;
}; };
static void calls_dummy_origin_message_source_interface_init (CallsOriginInterface *iface);
static void calls_dummy_origin_origin_interface_init (CallsOriginInterface *iface); static void calls_dummy_origin_origin_interface_init (CallsOriginInterface *iface);
G_DEFINE_TYPE_WITH_CODE (CallsDummyOrigin, calls_dummy_origin, G_TYPE_OBJECT, G_DEFINE_TYPE_WITH_CODE (CallsDummyOrigin, calls_dummy_origin, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (CALLS_TYPE_MESSAGE_SOURCE,
calls_dummy_origin_message_source_interface_init)
G_IMPLEMENT_INTERFACE (CALLS_TYPE_ORIGIN, G_IMPLEMENT_INTERFACE (CALLS_TYPE_ORIGIN,
calls_dummy_origin_origin_interface_init)) calls_dummy_origin_origin_interface_init))
@@ -150,36 +154,9 @@ dial (CallsOrigin *origin, const gchar *number)
CallsDummyOrigin * CallsDummyOrigin *
calls_dummy_origin_new (const gchar *name) calls_dummy_origin_new (const gchar *name)
{ {
/* return g_object_new (CALLS_TYPE_DUMMY_ORIGIN,
guint n_properties, i; "name", name,
const gchar *names[1] = { NULL }; NULL);
GValue values[1] = { G_VALUE_INIT };
GObject *object;
if (name == NULL)
{
n_properties = 0;
}
else
{
n_properties = 1;
names[0] = "name";
g_value_init (&values[0], G_TYPE_STRING);
g_value_set_string (&values[0], name);
}
object = g_object_new_with_properties (CALLS_TYPE_DUMMY_ORIGIN,
n_properties, names, values);
for (i = 0; i < n_properties; ++i)
{
g_value_unset (&values[i]);
}
return CALLS_DUMMY_ORIGIN(object);
*/
// FIXME
return NULL;
} }
@@ -247,6 +224,12 @@ calls_dummy_origin_class_init (CallsDummyOriginClass *klass)
} }
static void
calls_dummy_origin_message_source_interface_init (CallsOriginInterface *iface)
{
}
static void static void
calls_dummy_origin_origin_interface_init (CallsOriginInterface *iface) calls_dummy_origin_origin_interface_init (CallsOriginInterface *iface)
{ {

View File

@@ -23,6 +23,7 @@
*/ */
#include "calls-dummy-provider.h" #include "calls-dummy-provider.h"
#include "calls-message-source.h"
#include "calls-provider.h" #include "calls-provider.h"
#include "calls-dummy-origin.h" #include "calls-dummy-origin.h"
@@ -33,18 +34,23 @@ struct _CallsDummyProvider
GList *origins; GList *origins;
}; };
static void calls_dummy_provider_message_source_interface_init (CallsProviderInterface *iface);
static void calls_dummy_provider_provider_interface_init (CallsProviderInterface *iface); static void calls_dummy_provider_provider_interface_init (CallsProviderInterface *iface);
G_DEFINE_TYPE_WITH_CODE (CallsDummyProvider, calls_dummy_provider, G_TYPE_OBJECT, G_DEFINE_TYPE_WITH_CODE (CallsDummyProvider, calls_dummy_provider, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (CALLS_TYPE_MESSAGE_SOURCE,
calls_dummy_provider_message_source_interface_init)
G_IMPLEMENT_INTERFACE (CALLS_TYPE_PROVIDER, G_IMPLEMENT_INTERFACE (CALLS_TYPE_PROVIDER,
calls_dummy_provider_provider_interface_init)) calls_dummy_provider_provider_interface_init))
static const gchar * static const gchar *
get_name (CallsProvider *iface) get_name (CallsProvider *iface)
{ {
return "Dummy provider"; return "Dummy provider";
} }
static GList * static GList *
get_origins (CallsProvider *iface) get_origins (CallsProvider *iface)
{ {
@@ -52,6 +58,7 @@ get_origins (CallsProvider *iface)
return g_list_copy (self->origins); return g_list_copy (self->origins);
} }
CallsDummyProvider * CallsDummyProvider *
calls_dummy_provider_new () calls_dummy_provider_new ()
{ {
@@ -71,6 +78,7 @@ dispose (GObject *object)
parent_class->dispose (object); parent_class->dispose (object);
} }
static void static void
calls_dummy_provider_class_init (CallsDummyProviderClass *klass) calls_dummy_provider_class_init (CallsDummyProviderClass *klass)
{ {
@@ -79,6 +87,13 @@ calls_dummy_provider_class_init (CallsDummyProviderClass *klass)
object_class->dispose = dispose; object_class->dispose = dispose;
} }
static void
calls_dummy_provider_message_source_interface_init (CallsProviderInterface *iface)
{
}
static void static void
calls_dummy_provider_provider_interface_init (CallsProviderInterface *iface) calls_dummy_provider_provider_interface_init (CallsProviderInterface *iface)
{ {
@@ -86,11 +101,17 @@ calls_dummy_provider_provider_interface_init (CallsProviderInterface *iface)
iface->get_origins = get_origins; iface->get_origins = get_origins;
} }
static void static void
calls_dummy_provider_init (CallsDummyProvider *self) calls_dummy_provider_init (CallsDummyProvider *self)
{ {
self->origins = g_list_append (self->origins, }
calls_dummy_origin_new (NULL));
self->origins = g_list_append (self->origins,
calls_dummy_origin_new ("Dummy origin 2")); void
calls_dummy_provider_add_origin (CallsDummyProvider *self,
const gchar *name)
{
self->origins = g_list_append (self->origins,
calls_dummy_origin_new (name));
} }

View File

@@ -34,6 +34,8 @@ G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE (CallsDummyProvider, calls_dummy_provider, CALLS, DUMMY_PROVIDER, GObject); G_DECLARE_FINAL_TYPE (CallsDummyProvider, calls_dummy_provider, CALLS, DUMMY_PROVIDER, GObject);
CallsDummyProvider *calls_dummy_provider_new (); CallsDummyProvider *calls_dummy_provider_new ();
void calls_dummy_provider_add_origin (CallsDummyProvider *self,
const gchar *name);
G_END_DECLS G_END_DECLS