+ /**
+ * Returns the Object registry.
+ * @return A reference to the Object registry
+ */
+ ObjectRegistry& GetObjectRegistry();
+
+ /**
+ * @brief Gets the event thread services.
+ * @return A reference to the event thread services
+ */
+ EventThreadServices& GetEventThreadServices();
+
+ /**
+ * @brief Gets the property notification manager.
+ * @return A reference to the property notification manager
+ */
+ PropertyNotificationManager& GetPropertyNotificationManager();
+
+ /**
+ * @brief Gets the animation play list.
+ * @return A reference to the animation play list
+ */
+ AnimationPlaylist& GetAnimationPlaylist();
+
+ /**
+ * @brief Returns whether the blend equation is supported in the system or not.
+ * @param[in] blendEquation blend equation to be checked.
+ * @return True if the blend equation supported.
+ */
+ bool IsBlendEquationSupported(DevelBlendEquation::Type blendEquation);
+
+ /**
+ * @brief Returns shader prefix of shading language version.
+ */
+ std::string GetShaderVersionPrefix();
+
+ /**
+ * @brief Returns vertex shader prefix including shading language version.
+ */
+ std::string GetVertexShaderPrefix();
+
+ /**
+ * @brief Returns fragment shader prefix including shading language version and extension information.
+ */
+ std::string GetFragmentShaderPrefix();
+
+ /**
+ * Add a Scene to the Core.
+ * This is only used by the Scene to add itself to the core when the Scene is created.
+ * @param[in] scene The Scene.
+ */
+ void AddScene(Scene* scene);
+
+ /**
+ * Remove a Scene from the Core.
+ * This is only used by the Scene to remove itself from the core when the Scene is destroyed.
+ * @param[in] scene The Scene.
+ */
+ void RemoveScene(Scene* scene);
+
+ /**
+ * @copydoc Dali::SingletonService::Register()
+ */
+ void Register(const std::type_info& info, BaseHandle singleton);
+
+ /**
+ * @copydoc Dali::SingletonService::UnregisterAll()
+ */
+ void UnregisterAll();
+
+ /**
+ * @copydoc Dali::SingletonService::GetSingleton()
+ */
+ BaseHandle GetSingleton(const std::type_info& info) const;
+
+private:
+ /**
+ * Virtual Destructor
+ */
+ ~ThreadLocalStorage() override;
+
+ // Undefined
+ ThreadLocalStorage(const ThreadLocalStorage&);
+ ThreadLocalStorage& operator=(ThreadLocalStorage&);
+