GPL + CeCILL Header change
[scilab.git] / scilab / modules / scicos / src / cpp / controller_helpers.cpp
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2014-2015 - Scilab Enterprises - Clement DAVID
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  * === LICENSE_END ===
14  *
15  */
16
17 #include <string>
18
19 #include "controller_helpers.hxx"
20 #include "Controller.hxx"
21 #include "View.hxx"
22
23 namespace org_scilab_modules_scicos
24 {
25
26 LoggerView* get_or_allocate_logger()
27 {
28     static const std::string loggerViewName = "logger";
29
30     View* registeredView = Controller::look_for_view(loggerViewName);
31     if (registeredView == nullptr)
32     {
33         registeredView = Controller::register_view(loggerViewName, new LoggerView());
34     }
35     LoggerView* logger = static_cast<LoggerView*>(registeredView);
36     return logger;
37 }
38
39 } /* namespace org_scilab_modules_scicos */