Turi Create  4.0
unity_server_init.hpp
1 /* Copyright © 2017 Apple Inc. All rights reserved.
2  *
3  * Use of this source code is governed by a BSD-3-clause license that can
4  * be found in the LICENSE.txt file or at https://opensource.org/licenses/BSD-3-Clause
5  */
6 #ifndef TURI_UNITY_SERVER_UNITY_SERVER_INIT_HPP
7 #define TURI_UNITY_SERVER_UNITY_SERVER_INIT_HPP
8 
9 #include <model_server/lib/toolkit_class_registry.hpp>
10 #include <model_server/lib/toolkit_function_registry.hpp>
11 
12 namespace turi {
13 
14 class EXPORT unity_server_initializer {
15  public:
16 
17  virtual ~unity_server_initializer();
18 
19  /**
20  * Fill the registry of internal toolkits
21  */
22  virtual void init_toolkits(toolkit_function_registry&) const;
23 
24  /**
25  * Fill the registry of internal models
26  */
27  virtual void init_models(toolkit_class_registry&) const;
28 
29  /**
30  * Load external extensions into unity global
31  */
32  virtual void init_extensions(const std::string& root_path, std::shared_ptr<unity_global> unity_global_ptr) const;
33 
34 };
35 
36 }
37 #endif