blob: ebe6fa2b49b5531ab6caff6a20582b6468b00b71 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "flutter/shell/platform/linux/testing/mock_settings.h"
using namespace flutter::testing;
G_DECLARE_FINAL_TYPE(FlMockSettings,
fl_mock_settings,
FL,
MOCK_SETTINGS,
GObject)
struct _FlMockSettings {
GObject parent_instance;
MockSettings* mock;
};
static void fl_mock_settings_iface_init(FlSettingsInterface* iface);
#define FL_UNUSED(x) (void)x;
G_DEFINE_TYPE_WITH_CODE(FlMockSettings,
fl_mock_settings,
G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE(fl_settings_get_type(),
fl_mock_settings_iface_init)
FL_UNUSED(FL_IS_MOCK_SETTINGS))
static void fl_mock_settings_class_init(FlMockSettingsClass* klass) {}
static FlClockFormat fl_mock_settings_get_clock_format(FlSettings* settings) {
FlMockSettings* self = FL_MOCK_SETTINGS(settings);
return self->mock->fl_settings_get_clock_format(settings);
}
static FlColorScheme fl_mock_settings_get_color_scheme(FlSettings* settings) {
FlMockSettings* self = FL_MOCK_SETTINGS(settings);
return self->mock->fl_settings_get_color_scheme(settings);
}
static gboolean fl_mock_settings_get_enable_animations(FlSettings* settings) {
FlMockSettings* self = FL_MOCK_SETTINGS(settings);
return self->mock->fl_settings_get_enable_animations(settings);
}
static gboolean fl_mock_settings_get_high_contrast(FlSettings* settings) {
FlMockSettings* self = FL_MOCK_SETTINGS(settings);
return self->mock->fl_settings_get_high_contrast(settings);
}
static gdouble fl_mock_settings_get_text_scaling_factor(FlSettings* settings) {
FlMockSettings* self = FL_MOCK_SETTINGS(settings);
return self->mock->fl_settings_get_text_scaling_factor(settings);
}
static void fl_mock_settings_iface_init(FlSettingsInterface* iface) {
iface->get_clock_format = fl_mock_settings_get_clock_format;
iface->get_color_scheme = fl_mock_settings_get_color_scheme;
iface->get_enable_animations = fl_mock_settings_get_enable_animations;
iface->get_high_contrast = fl_mock_settings_get_high_contrast;
iface->get_text_scaling_factor = fl_mock_settings_get_text_scaling_factor;
}
static void fl_mock_settings_init(FlMockSettings* self) {}
MockSettings::MockSettings()
: instance_(
FL_SETTINGS(g_object_new(fl_mock_settings_get_type(), nullptr))) {
FL_MOCK_SETTINGS(instance_)->mock = this;
}
MockSettings::~MockSettings() {
if (instance_ != nullptr) {
g_clear_object(&instance_);
}
}
MockSettings::operator FlSettings*() {
return instance_;
}