1// LAF OS Library
2// Copyright (C) 2020 Igara Studio S.A.
3// Copyright (C) 2016 David Capello
4//
5// This file is released under the terms of the MIT license.
6// Read LICENSE.txt for more information.
7
8#ifdef HAVE_CONFIG_H
9#include "config.h"
10#endif
11
12#include "base/debug.h"
13#include "os/ref.h"
14#include "os/system.h"
15
16namespace os {
17
18static System* g_system = nullptr;
19
20System* make_system_impl(); // Defined on each back-end
21
22SystemRef make_system()
23{
24 ASSERT(!g_system);
25 g_system = make_system_impl();
26 return SystemRef(g_system);
27}
28
29System* instance()
30{
31 return g_system;
32}
33
34void set_instance(System* system)
35{
36 g_system = system;
37}
38
39} // namespace os
40