You.i Engine
YiFramework.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2020. All rights reserved.
2 #ifndef _YI_FRAMEWORK_H_
3 #define _YI_FRAMEWORK_H_
4 
6 
7 #include <mutex>
8 
9 class CYIAssetLoader;
10 class CYIAssetManager;
11 class CYIAudioEngine;
12 class CYIFrameworkPriv;
14 class CYITextEngine;
15 class CYIThreadPools;
16 class CYITime;
17 class CYITranslation;
18 
31 {
32 public:
33  friend class CYIFrameworkPriv;
34 
35  virtual ~CYIFramework();
36 
40  static void SetFrameworkConfiguration(const CYIFrameworkConfiguration &frameworkConfiguration);
41 
46  static CYIFramework *GetInstance();
47 
49 
51 
53 
55 
56  CYITime *GetTime();
57 
59 
61 
63 
64 private:
65  CYIFramework(CYIFrameworkConfiguration &frameworkConfiguration);
66 
67  static CYIFramework *s_pFrameworkSingleton;
68 
69  static std::mutex s_FrameworkMutex;
70 
71  static CYIFrameworkConfiguration s_FrameworkConfiguration;
72 
73  CYIFrameworkPriv *m_pPriv;
74 
76 };
77 
80 #endif // _YI_FRAMEWORK_H_
CYIAssetLoader * GetAssetLoader()
Provides text-to-speech functionality using the underlying platform&#39;s technology. ...
Definition: YiSpeechSynthesizer.h:23
#define YI_DISALLOW_COPY_AND_ASSIGN(TypeName)
Delete the copy constructor and assignment operator (and consequently the move constructor as well) ...
Definition: YiPredef.h:122
CYIAssetManager * GetAssetManager()
Provides string localization.
Definition: YiTranslation.h:68
static CYIFramework * GetInstance()
Class for text rendering.
Definition: YiTextEngine.h:30
CYITranslation * GetTranslation()
CYIAudioEngine * GetAudioEngine()
CYIFrameworkConfiguration is used to specify configuration settings for the CYIFramework class...
Definition: YiFrameworkConfiguration.h:18
virtual ~CYIFramework()
static void SetFrameworkConfiguration(const CYIFrameworkConfiguration &frameworkConfiguration)
CYISpeechSynthesizer * GetSpeechSynthesizer()
global class used to notify the system of time updates
Definition: YiTime.h:21
CYITime * GetTime()
CYIThreadPools * GetThreadPools()
Object responsible for processing audio streams and output to the platform.
Definition: YiAudioEngine.h:30
This class provides a cache that users can use to store various types of assets.
Definition: YiAssetManager.h:46
Definition: YiThreadPools.h:54
friend class CYIFrameworkPriv
Definition: YiFramework.h:33
CYIFramework is a singleton class used to acquire global instances of a number of classes...
Definition: YiFramework.h:30
CYITextEngine * GetTextEngine()
The asset loader provides an interface for loading asset objects, which in turn wrap resource objects...
Definition: YiAssetLoader.h:40