X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=adaptors%2Fcommon%2Fapplication-impl.h;h=aeadb176ed18528cb199cec55c44aae22f3b8078;hb=722841a906467435b9265313f12d8a606bfde759;hp=e9bdf0b7bad5b8fac154f6826edb0bbe3cacdc12;hpb=65f7a0334c654ce2d1ade71607a1de4957d60628;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/adaptors/common/application-impl.h b/adaptors/common/application-impl.h index e9bdf0b..aeadb17 100644 --- a/adaptors/common/application-impl.h +++ b/adaptors/common/application-impl.h @@ -2,7 +2,7 @@ #define __DALI_INTERNAL_APPLICATION_H__ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2016 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,10 +19,6 @@ */ // EXTERNAL INCLUDES -#include -#include -#include - #include #include @@ -32,6 +28,7 @@ #include #include +#include namespace Dali { @@ -57,28 +54,20 @@ typedef IntrusivePtr ApplicationPtr; class Application : public BaseObject, public Framework::Observer { public: - - typedef Dali::Application::AppSignalV2 AppSignalV2; + typedef Dali::Application::AppSignalType AppSignalType; + typedef Dali::Application::AppControlSignalType AppControlSignalType; + typedef Dali::Application::WINDOW_MODE WINDOW_MODE; /** - * Constructor - * @param[in] app The public instance of the Application + * Create a new application * @param[in] argc A pointer to the number of arguments * @param[in] argv A pointer to the argument list - * @param[in] name A name of application - * @param[in] baseLayout The base layout that the application has been written for + * @param[in] stylesheet The path to user defined theme file * @param[in] windowMode A member of Dali::Application::WINDOW_MODE + * @param[in] applicationType A member of Dali::Framework::Type */ - static ApplicationPtr New(int* argc, char **argv[], const std::string& name, - const DeviceLayout& baseLayout, - Dali::Application::WINDOW_MODE windowMode); - - Application( int* argc, char **argv[], const std::string& name, const DeviceLayout& baseLayout, Dali::Application::WINDOW_MODE windowMode ); - - /** - * Destructor - */ - virtual ~Application(); + static ApplicationPtr New( int* argc, char **argv[], const std::string& stylesheet, + WINDOW_MODE windowMode, Framework::Type applicationType ); public: @@ -100,7 +89,7 @@ public: /** * @copydoc Dali::Application::AddIdle() */ - bool AddIdle(boost::function callBack); + bool AddIdle( CallbackBase* callback ); /** * @copydoc Dali::Application::GetAdaptor(); @@ -113,19 +102,14 @@ public: Dali::Window GetWindow(); /** - * @copydoc Dali::Application::GetTheme(); - */ - const std::string& GetTheme(); - - /** - * @copydoc Dali::Application::SetTheme(); + * @copydoc Dali::Application::ReplaceWindow(); */ - void SetTheme(const std::string& themeFilePath); + void ReplaceWindow(PositionSize windowPosition, const std::string& name); /** - * @copydoc Dali::Application::ReplaceWindow(); + * @copydoc Dali::Application::GetResourcePath(); */ - void ReplaceWindow(PositionSize windowPosition, const std::string& name); + static std::string GetResourcePath(); public: // Stereoscopy @@ -149,6 +133,33 @@ public: // Stereoscopy */ float GetStereoBase() const; +public: // Lifecycle functionality + + /** + * Called when OnInit is called or the framework is initialised. + */ + void DoInit(); + + /** + * Called when OnTerminate is called or the framework is terminated. + */ + void DoTerminate(); + + /** + * Called when OnPause is called or the framework is paused. + */ + void DoPause(); + + /** + * Called when OnResume is called or the framework resumes from a paused state. + */ + void DoResume(); + + /** + * Called when OnLanguageChanged is called or the framework informs the application that the language of the device has changed. + */ + void DoLanguageChange(); + public: // From Framework::Observer /** @@ -172,6 +183,12 @@ public: // From Framework::Observer virtual void OnResume(); /** + * Called when the framework received AppControlSignal. + * @param[in] The bundle data of AppControl event. + */ + virtual void OnAppControl(void *data); + + /** * Called when the framework informs the application that it should reset itself. */ virtual void OnReset(); @@ -181,6 +198,21 @@ public: // From Framework::Observer */ virtual void OnLanguageChanged(); + /** + * Called when the framework informs the application that the region of the device has changed. + */ + virtual void OnRegionChanged(); + + /** + * Called when the framework informs the application that the battery level of the device is low. + */ + virtual void OnBatteryLow(); + + /** + * Called when the framework informs the application that the memory level of the device is low. + */ + virtual void OnMemoryLow(); + public: /** @@ -194,45 +226,79 @@ public: // Signals /** * @copydoc Dali::Application::InitSignal() */ - Dali::Application::AppSignalV2& InitSignal() { return mInitSignalV2; } + Dali::Application::AppSignalType& InitSignal() { return mInitSignal; } /** * @copydoc Dali::Application::TerminateSignal() */ - Dali::Application::AppSignalV2& TerminateSignal() { return mTerminateSignalV2; } + Dali::Application::AppSignalType& TerminateSignal() { return mTerminateSignal; } /** * @copydoc Dali::Application::PauseSignal() */ - Dali::Application::AppSignalV2& PauseSignal() { return mPauseSignalV2; } + Dali::Application::AppSignalType& PauseSignal() { return mPauseSignal; } /** * @copydoc Dali::Application::ResumeSignal() */ - Dali::Application::AppSignalV2& ResumeSignal() { return mResumeSignalV2; } + Dali::Application::AppSignalType& ResumeSignal() { return mResumeSignal; } /** * @copydoc Dali::Application::ResetSignal() */ - Dali::Application::AppSignalV2& ResetSignal() { return mResetSignalV2; } + Dali::Application::AppSignalType& ResetSignal() { return mResetSignal; } + + /** + * @copydoc Dali::Application::AppControlSignal() + */ + Dali::Application::AppControlSignalType& AppControlSignal() { return mAppControlSignal; } /** * @copydoc Dali::Application::ResizeSignal() */ - Dali::Application::AppSignalV2& ResizeSignal() { return mResizeSignalV2; } + Dali::Application::AppSignalType& ResizeSignal() { return mResizeSignal; } /** * @copydoc Dali::Application::LanguageChangedSignal() */ - Dali::Application::AppSignalV2& LanguageChangedSignal() { return mLanguageChangedSignalV2; } + Dali::Application::AppSignalType& LanguageChangedSignal() { return mLanguageChangedSignal; } -private: + /** + * @copydoc Dali::Application::RegionChangedSignal() + */ + Dali::Application::AppSignalType& RegionChangedSignal() { return mRegionChangedSignal; } + + /** + * @copydoc Dali::Application::BatteryLowSignal() + */ + Dali::Application::AppSignalType& BatteryLowSignal() { return mBatteryLowSignal; } + + /** + * @copydoc Dali::Application::MemoryLowSignal() + */ + Dali::Application::AppSignalType& MemoryLowSignal() { return mMemoryLowSignal; } + +protected: + + /** + * Private Constructor + * @param[in] argc A pointer to the number of arguments + * @param[in] argv A pointer to the argument list + * @param[in] stylesheet The path to user defined theme file + * @param[in] windowMode A member of Dali::Application::WINDOW_MODE + */ + Application( int* argc, char **argv[], const std::string& stylesheet, + WINDOW_MODE windowMode, Framework::Type applicationType ); + + /** + * Destructor + */ + virtual ~Application(); // Undefined Application(const Application&); Application& operator=(Application&); -private: /** * Creates the window */ @@ -250,13 +316,17 @@ private: private: - AppSignalV2 mInitSignalV2; - AppSignalV2 mTerminateSignalV2; - AppSignalV2 mPauseSignalV2; - AppSignalV2 mResumeSignalV2; - AppSignalV2 mResetSignalV2; - AppSignalV2 mResizeSignalV2; - AppSignalV2 mLanguageChangedSignalV2; + AppSignalType mInitSignal; + AppSignalType mTerminateSignal; + AppSignalType mPauseSignal; + AppSignalType mResumeSignal; + AppSignalType mResetSignal; + AppSignalType mResizeSignal; + AppControlSignalType mAppControlSignal; + AppSignalType mLanguageChangedSignal; + AppSignalType mRegionChangedSignal; + AppSignalType mBatteryLowSignal; + AppSignalType mMemoryLowSignal; EventLoop* mEventLoop; Framework* mFramework; @@ -269,9 +339,9 @@ private: Dali::Window mWindow; Dali::Application::WINDOW_MODE mWindowMode; std::string mName; - - bool mInitialized; - DeviceLayout mBaseLayout; + std::string mStylesheet; + EnvironmentOptions mEnvironmentOptions; + bool mUseRemoteSurface; SlotDelegate< Application > mSlotDelegate; };