+ void Start(Dali::Window window);
+ void Stop();
+
+ bool AddIdle(CallbackBase* callback, bool hasReturnValue);
+ void RemoveIdle(CallbackBase* callback);
+ void RunIdles();
+
+ void RequestUpdateOnce();
+
+ static Integration::Scene GetScene(Dali::Window window);
+
+ Dali::RenderSurfaceInterface& GetSurface();
+ Dali::WindowContainer GetWindows();
+ Dali::SceneHolderList GetSceneHolders();
+
+ Dali::Internal::Adaptor::SceneHolder* GetWindow(Dali::Actor& actor);
+ void AddWindow(Internal::Adaptor::SceneHolder* window);
+ void RemoveWindow(Internal::Adaptor::SceneHolder* window);
+
+ void RegisterProcessor(Integration::Processor& processor, bool postProcessor = false);
+ void UnregisterProcessor(Integration::Processor& processor, bool postProcessor = false);
+
+ void SetApplication(Dali::TestApplication& testApplication);
+
+ bool IsStopped() const
+ {
+ return mStopped;
+ }
+
+ Dali::Adaptor::AdaptorSignalType& ResizedSignal();
+ Dali::Adaptor::AdaptorSignalType& LanguageChangedSignal();
+ Dali::Adaptor::WindowCreatedSignalType& WindowCreatedSignal();
+ Dali::Adaptor::LocaleChangedSignalType& LocaleChangedSignal();
+
+ static Adaptor& GetImpl(Dali::Adaptor& adaptor)
+ {
+ return *adaptor.mImpl;
+ }
+ static const Adaptor& GetImpl(const Dali::Adaptor& adaptor)
+ {
+ return *adaptor.mImpl;
+ }
+
+private:
+ Vector<CallbackBase*> mCallbacks;
+ Vector<CallbackBase*> mReturnCallbacks;
+ std::vector<Internal::Adaptor::SceneHolder*> mWindows;
+ Dali::Adaptor::AdaptorSignalType mResizedSignal;
+ Dali::Adaptor::AdaptorSignalType mLanguageChangedSignal;
+ Dali::Adaptor::WindowCreatedSignalType mWindowCreatedSignal;
+ Dali::Adaptor::LocaleChangedSignalType mLocaleChangedSignal;
+ TestApplication* mTestApplication;
+ bool mStopped{false};