~ci-train-bot/unity-system-compositor/unity-system-compositor-ubuntu-zesty-2649

« back to all changes in this revision

Viewing changes to tests/include/usc/test/stub_display_configuration.h

  • Committer: Tarmac
  • Author(s): Alexandros Frantzis
  • Date: 2017-02-06 13:28:45 UTC
  • mfrom: (305.2.2 dbus-active-outputs-trunk)
  • Revision ID: tarmac-20170206132845-03qka2u231py63b1
Update the Unity.Display DBus interface to support multiple outputs better.

Approved by mir-ci-bot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
{
29
29
    StubDisplayConfiguration()
30
30
    {
31
 
        conf_output.power_mode = MirPowerMode::mir_power_mode_on;
 
31
        internal_active_conf_output.power_mode = MirPowerMode::mir_power_mode_on;
 
32
        internal_active_conf_output.type = mir::graphics::DisplayConfigurationOutputType::lvds;
 
33
        internal_active_conf_output.used = true;
 
34
        internal_active_conf_output.connected = true;
 
35
 
 
36
        external_active_conf_output.power_mode = MirPowerMode::mir_power_mode_on;
 
37
        external_active_conf_output.type = mir::graphics::DisplayConfigurationOutputType::dvid;
 
38
        external_active_conf_output.used = true;
 
39
        external_active_conf_output.connected = true;
 
40
 
 
41
        inactive_conf_output.power_mode = MirPowerMode::mir_power_mode_off;
 
42
        inactive_conf_output.used = false;
 
43
        inactive_conf_output.connected = false;
 
44
    }
 
45
 
 
46
    StubDisplayConfiguration(
 
47
        int num_internal_active_outputs,
 
48
        int num_external_active_outputs,
 
49
        int num_inactive_outputs)
 
50
        : StubDisplayConfiguration{}
 
51
    {
 
52
          this->num_internal_active_outputs = num_internal_active_outputs;
 
53
          this->num_external_active_outputs = num_external_active_outputs;
 
54
          this->num_inactive_outputs = num_inactive_outputs;
32
55
    }
33
56
 
34
57
    StubDisplayConfiguration(mir::graphics::DisplayConfigurationOutput const& output)
35
 
        : conf_output(output)
 
58
        : StubDisplayConfiguration{}
36
59
    {
 
60
          internal_active_conf_output = output;
37
61
    }
38
62
 
39
63
    void for_each_card(std::function<void(mir::graphics::DisplayConfigurationCard const&)>) const override
42
66
 
43
67
    void for_each_output(std::function<void(mir::graphics::DisplayConfigurationOutput const&)> f) const override
44
68
    {
45
 
        f(conf_output);
 
69
        for (int i = 0; i < num_internal_active_outputs; ++i)
 
70
            f(internal_active_conf_output);
 
71
        for (int i = 0; i < num_external_active_outputs; ++i)
 
72
            f(external_active_conf_output);
 
73
        for (int i = 0; i < num_inactive_outputs; ++i)
 
74
            f(inactive_conf_output);
46
75
    }
47
76
 
48
77
    void for_each_output(std::function<void(mir::graphics::UserDisplayConfigurationOutput&)> f)
49
78
    {
50
 
        mir::graphics::UserDisplayConfigurationOutput user{conf_output};
51
 
        f(user);
 
79
        for (int i = 0; i < num_internal_active_outputs; ++i)
 
80
        {
 
81
            mir::graphics::UserDisplayConfigurationOutput user{internal_active_conf_output};
 
82
            f(user);
 
83
        }
 
84
        for (int i = 0; i < num_external_active_outputs; ++i)
 
85
        {
 
86
            mir::graphics::UserDisplayConfigurationOutput user{external_active_conf_output};
 
87
            f(user);
 
88
        }
 
89
        for (int i = 0; i < num_inactive_outputs; ++i)
 
90
        {
 
91
            mir::graphics::UserDisplayConfigurationOutput user{inactive_conf_output};
 
92
            f(user);
 
93
        }
52
94
    }
53
95
 
54
96
    std::unique_ptr<mir::graphics::DisplayConfiguration> clone() const override
55
97
    {
56
 
        return std::make_unique<StubDisplayConfiguration>(conf_output);
 
98
        return std::make_unique<StubDisplayConfiguration>(internal_active_conf_output);
57
99
    }
58
100
 
59
 
    mir::graphics::DisplayConfigurationOutput conf_output;
 
101
    int num_internal_active_outputs{1};
 
102
    int num_external_active_outputs{0};
 
103
    int num_inactive_outputs{0};
 
104
 
 
105
    mir::graphics::DisplayConfigurationOutput internal_active_conf_output;
 
106
    mir::graphics::DisplayConfigurationOutput external_active_conf_output;
 
107
    mir::graphics::DisplayConfigurationOutput inactive_conf_output;
60
108
};
61
109
 
62
110
}