Fix for N_SE-47477
[apps/osp/Call.git] / inc / CallApp.h
index 3e55fcb..f01e4f6 100644 (file)
@@ -1,3 +1,18 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.1 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
 #ifndef _CALLAPP_H_
 #define _CALLAPP_H_
 
@@ -16,6 +31,8 @@ class CallApp
        : public Tizen::App::UiApp
        , public Tizen::System::IScreenEventListener
        , public Tizen::App::IAppControlProviderEventListener
+       , public Tizen::App::IActiveAppEventListener
+       , public Tizen::Base::Runtime::ITimerEventListener
 {
 public:
        /**
@@ -58,6 +75,9 @@ public:
        // Called when the screen turns off.
        virtual void OnScreenOff(void);
 
+       //Called when application becomes active
+       virtual void OnActiveAppChanged(const Tizen::Base::String& appId);
+
        virtual Tizen::Ui::Scenes::SceneId GetInitialScene(void);
 
        //Used to get launch arguments at application launch
@@ -71,23 +91,35 @@ public:
        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);
        //Called when incoming call has to be handled
        void SetTopMostWindow(bool bTopMost);
+       //Gets the time duration since appplication has been launched
+       long long GetCallAppTicks(void);
 
 private:
        //internal function to process AppControl request.
-       void ProcessAppControlRequest(RequestId reqId, const Tizen::Base::String& operationId,const Tizen::Base::Collection::IMap* pArgsMap);
+       void ProcessAppControlRequest(RequestId reqId, const Tizen::Base::String& operationId,const Tizen::Base::Collection::IMap* pArgsMap,const Tizen::Base::String* pUriData =null);
+       //internal function to process AppControl request.
+       void ProcessWebAppControlRequest(RequestId reqId, const Tizen::Base::String& operationId,const Tizen::Base::String* pUriData);
+
        //internal function to handle AppControl Request for Incoming call.
        void HandleIncomingCallAppControlRequest(RequestId reqId,const Tizen::Base::Collection::IMap* pArgsMap);
        //internal function to handle AppControl Request for dial call.
-       void HandleDialCallAppControlRequest(RequestId reqId,const Tizen::Base::Collection::IMap* pArgsMap);
+       void HandleDialCallAppControlRequest(RequestId reqId,const Tizen::Base::Collection::IMap* pArgsMap,const Tizen::Base::String* pUriData);
        //Checks if the number is valid
        bool CheckNumberIsValid(Tizen::Base::String phoneNumber);
 
+       void ShowAutoRejectPopup(Tizen::Base::String contactNumber);
+       virtual void OnTimerExpired(Tizen::Base::Runtime::Timer &timer);
+
 
 
 private:
        Tizen::Ui::Scenes::SceneId __initialSceneId;
        Tizen::Base::Collection::ArrayList* __pLaunchArgs;
        Tizen::Base::Collection::ArrayList __listenerList;
+       Tizen::Ui::Controls::Popup* __pCallRejectedIonPopup;
+       Tizen::Base::Runtime::Timer __callRejectedIontimer;
+       long long __callTicks;
+       Tizen::Base::Runtime::Timer* __pCallAppTimer;
 };
 
 #endif // _CALLAPP_H_