Fix for 38025 37983
[apps/osp/Call.git] / inc / CallApp.h
1 #ifndef _CALLAPP_H_
2 #define _CALLAPP_H_
3
4 #include <FApp.h>
5 #include <FBase.h>
6 #include <FSystem.h>
7 #include <FUi.h>
8
9 class IAppStateChangeListener;
10
11 /**
12  * [CallAppApp] UiApp must inherit from UiApp class
13  * which provides basic features necessary to define an UiApp.
14  */
15 class CallApp
16         : public Tizen::App::UiApp
17         , public Tizen::System::IScreenEventListener
18         , public Tizen::App::IAppControlProviderEventListener
19         , public Tizen::App::IActiveAppEventListener
20 {
21 public:
22         /**
23          * [Test] UiApp must have a factory method that creates an instance of itself.
24          */
25         static Tizen::App::UiApp* CreateInstance(void);
26
27 public:
28         CallApp(void);
29         virtual~CallApp(void);
30
31 public:
32         // Called when the UiApp is initializing.
33         virtual bool OnAppInitializing(Tizen::App::AppRegistry& appRegistry);
34
35         // Called when the UiApp initializing is finished. 
36         virtual bool OnAppInitialized(void); 
37
38         // Called when the UiApp is requested to terminate. 
39         virtual bool OnAppWillTerminate(void); 
40
41         // Called when the UiApp is terminating.
42         virtual bool OnAppTerminating(Tizen::App::AppRegistry& appRegistry, bool forcedTermination = false);
43
44         // Called when the UiApp's frame moves to the top of the screen.
45         virtual void OnForeground(void);
46
47         // Called when this UiApp's frame is moved from top of the screen to the background.
48         virtual void OnBackground(void);
49
50         // Called when the system memory is not sufficient to run the UiApp any further.
51         virtual void OnLowMemory(void);
52
53         // Called when the battery level changes.
54         virtual void OnBatteryLevelChanged(Tizen::System::BatteryLevel batteryLevel);
55
56         // Called when the screen turns on.
57         virtual void OnScreenOn(void);
58
59         // Called when the screen turns off.
60         virtual void OnScreenOff(void);
61
62         //Called when application becomes active
63         virtual void OnActiveAppChanged(const Tizen::Base::String& appId);
64
65         virtual Tizen::Ui::Scenes::SceneId GetInitialScene(void);
66
67         //Used to get launch arguments at application launch
68         Tizen::Base::Collection::IList* GetAppLaunchArguments(void);
69
70         void AddAppStateChangeListener(const IAppStateChangeListener& listener);
71
72         void RemoveAppStateChangeListener(const IAppStateChangeListener& listener);
73
74         // Called when the application control request is received from the caller application.
75         virtual void OnAppControlRequestReceived(RequestId reqId, const Tizen::Base::String& operationId, const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType, const Tizen::Base::Collection::IMap* pExtraData);
76         //Called when incoming call has to be handled
77         void SetTopMostWindow(bool bTopMost);
78
79 private:
80         //internal function to process AppControl request.
81         void ProcessAppControlRequest(RequestId reqId, const Tizen::Base::String& operationId,const Tizen::Base::Collection::IMap* pArgsMap,const Tizen::Base::String* pUriData =null);
82         //internal function to process AppControl request.
83         void ProcessWebAppControlRequest(RequestId reqId, const Tizen::Base::String& operationId,const Tizen::Base::String* pUriData);
84
85         //internal function to handle AppControl Request for Incoming call.
86         void HandleIncomingCallAppControlRequest(RequestId reqId,const Tizen::Base::Collection::IMap* pArgsMap);
87         //internal function to handle AppControl Request for dial call.
88         void HandleDialCallAppControlRequest(RequestId reqId,const Tizen::Base::Collection::IMap* pArgsMap,const Tizen::Base::String* pUriData);
89         //Checks if the number is valid
90         bool CheckNumberIsValid(Tizen::Base::String phoneNumber);
91
92
93
94 private:
95         Tizen::Ui::Scenes::SceneId __initialSceneId;
96         Tizen::Base::Collection::ArrayList* __pLaunchArgs;
97         Tizen::Base::Collection::ArrayList __listenerList;
98 };
99
100 #endif // _CALLAPP_H_