kodi
TestGlobalsHandlingPattern1.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "utils/GlobalsHandling.h"
12 
13 #include <iostream>
14 
15 namespace xbmcutil
16 {
17  namespace test
18  {
20  {
21  public:
22  static bool ctorCalled;
23  static bool dtorCalled;
24 
25  int somethingToAccess = 0;
26 
27  TestGlobalPattern1() { ctorCalled = true; }
29  {
30  std::cout << "Clean shutdown of TestGlobalPattern1" << std::endl << std::flush;
31  dtorCalled = true;
32  }
33 
34  void beHappy() { if (somethingToAccess) throw somethingToAccess; }
35  };
36  }
37 }
38 
39 XBMC_GLOBAL_REF(xbmcutil::test::TestGlobalPattern1,g_testGlobalPattern1);
40 #define g_testGlobalPattern1 XBMC_GLOBAL_USE(xbmcutil::test::TestGlobalPattern1)
This file contains the pattern for moving "globals" from the BSS Segment to the heap.
Definition: GlobalsHandling.h:86
Definition: TestGlobalsHandlingPattern1.h:19