#include <glib.h>
#include <gio/gio.h>
+#include "thread-private.h"
#include "thread-mock-dummy.h"
GDBusConnection *g_bus_get_sync(GBusType bus_type,
{
}
+GVariant *g_dbus_proxy_call_sync(GDBusProxy *proxy,
+ const gchar *method_name,
+ GVariant *parameters,
+ GDBusCallFlags flags,
+ gint timeout_msec,
+ GCancellable *cancellable,
+ GError **error)
+{
+ retv_if(proxy == NULL, NULL);
+
+ return _handle_sync_method(method_name, parameters);
+}
+
void g_object_unref(gpointer object)
{
}
\ No newline at end of file
* limitations under the License.
*/
+#include "thread-private.h"
+#include "thread-dbus-handler.h"
#include "thread-mock-dummy.h"
-static GVariant * __properties_changed()
+static GVariant * __signal_properties_changed()
{
return nullptr;
}
+static GVariant *__method_reset(GVariant *parameters)
+{
+ return g_variant_new("(i)", THREAD_ERROR_NONE);
+}
+
struct {
const gchar *interface_name;
const gchar *signal_name;
gpointer user_data;
} thread_gdbus_signal_list[] = {
[PROPERTIES_CHANGED] = {
- "org.freedesktop.DBus.Properties",
- "PropertiesChanged",
- __properties_changed,
+ THREAD_EVENT_INTERFACE,
+ THREAD_EVENT_NAME,
+ __signal_properties_changed,
NULL,
NULL,
},
},
};
+struct {
+ const gchar *method_name;
+ GVariant *(*sync_handler)(GVariant *parameters);
+} thread_gdbus_method_list[] = {
+ {
+ THREAD_DBUS_RESET_METHOD,
+ __method_reset,
+ },
+ {
+ NULL,
+ NULL,
+ }
+};
+
static bool __is_same_signal(int i, const char *interface_name, const char *signal_name)
{
return (g_strcmp0(thread_gdbus_signal_list[i].interface_name, interface_name) == 0
&& g_strcmp0(thread_gdbus_signal_list[i].signal_name, signal_name) == 0);
}
+static bool __is_same_method(int i, const char *method_name)
+{
+ return (g_strcmp0(thread_gdbus_method_list[i].method_name, method_name) == 0);
+}
+
guint _subscribe_signal(const char *interface_name,
const char *member, GDBusSignalCallback callback,
gpointer user_data)
}
}
return DUMMY_SIGNAL_ID;
+}
+
+GVariant *_handle_sync_method(const gchar *method_name,
+ GVariant *parameters)
+{
+ for (int i = 0; ; ++i) {
+ if (thread_gdbus_method_list[i].method_name == NULL)
+ return nullptr;
+
+ if (__is_same_method(i, method_name))
+ return thread_gdbus_method_list[i].sync_handler(parameters);
+ }
}
\ No newline at end of file
EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
EXPECT_EQ(THREAD_ERROR_NONE, thread_start(instance));
EXPECT_EQ(THREAD_ERROR_NONE, thread_stop(instance));
+}
+
+TEST_F(ThreadCoreTest, ResetNotInitialized)
+{
+ EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
+ EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED, thread_reset(instance));
+}
+
+TEST_F(ThreadCoreTest, ResetInvalidParameter)
+{
+ EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER, thread_reset(instance));
+}
+
+TEST_F(ThreadCoreTest, ResetErrorNone)
+{
+ EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
+ EXPECT_EQ(THREAD_ERROR_NONE, thread_reset(instance));
}
\ No newline at end of file