| 91 | } |
| 92 | |
| 93 | di::injector<app> app_module(const bool& use_gui_view) { |
| 94 | // clang-format off |
| 95 | return di::make_injector( |
| 96 | di::bind<iview>().to([&](const auto& injector) -> iview& { |
| 97 | if (use_gui_view) |
| 98 | return injector.template create<gui_view&>(); |
| 99 | else |
| 100 | return injector.template create<text_view&>(); |
| 101 | }) |
| 102 | , di::bind<timer>().in(di::unique) // different per request |
| 103 | , di::bind<iclient*[]>().to<user, timer>() // bind many clients |
| 104 | , di::bind<int>().to(42) // renderer device |
| 105 | , di::bind<int>().to(123) [di::override] // override renderer device |
| 106 | , model_module() |
| 107 | ); |
| 108 | // clang-format on |
| 109 | } |
| 110 | |
| 111 | int main() { |
| 112 | auto use_gui_view = true; |
no test coverage detected