//
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
-// Licensed under the Flora License, Version 1.0 (the License);
+// 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
//
#define _PHN_CALL_PRESENTATION_MODEL_H_
#include <FApp.h>
+#include <FTelephony.h>
+#include <FMessaging.h>
+#include "CallAppControlRequestMgr.h"
#include "CallTypes.h"
#include "CallITelephonyEventListener.h"
#include "CalllogManager.h"
*/
class CallPresentationModel: public ITelephonyEventListener
, public Tizen::App::IAppControlResponseListener
+ , public Tizen::Telephony::ITelephonyNetworkEventListener
+ , public Tizen::Telephony::ITelephonySimEventListener
+ , public Tizen::Messaging::ISmsListener
{
public:
//create a singleton instance
virtual ~CallPresentationModel(void);
CallPresentationModel& operator =(const CallPresentationModel& presentor);
-
result Construct(void);
static void CreateInstance(void);
static void DestroyInstance(void);
+ //gets the sim info
+ result GetSimInfo(void);
+ //Used to check if sim is available
+ bool IsSimAvailable(void);
+ bool IfNumberEndsWithHash(Tizen::Base::String& contactNumber);
public:
//set the telephony event listener
//Function to get the conference call info
AppCallInfo* GetConferenceCallInfoN(void);
//Split this call from the conference call
- void SplitFromConference(SplitConfCallerCmdIds splitCallerCmdId, Tizen::Base::Collection::IListT<AppCallInfo>* pConfCallList);
+ bool SplitFromConference(SplitConfCallerCmdIds splitCallerCmdId, Tizen::Base::Collection::IListT<AppCallInfo>* pConfCallList);
//End this single call from the conference call
void EndCallFromConference(EndConfCallerCmdIds endCallerCmdId, Tizen::Base::Collection::IListT<AppCallInfo>* pConfCallList);
//returns true, if split operation is allowed. Else, returns false.
//Function is used to auto reject the call based on call settings and return true, if rejected.
bool CheckIncomingCallToBeRejected(AppCallInfo* pIncomingCallInfo);
//Launch dial appcontrol for add call senario
- result LaunchDialAppControl();
+ void LaunchDialAppControl();
//Used to check if Join button should be enabled or not
bool IsEnableJoinCallButton(void);
+ //Used to check if incomig call is present
+ bool IsIncomingorDialingCallPresent(void);
+ //Used to launch Messaging AppControl to compose message.
+ bool LaunchComposeMessageAppControl(Tizen::Base::String& contactNumber, Tizen::App::IAppControlResponseListener* pListener);
+ //Used to make "ViewContact" AppControl request.
+ bool LaunchViewContactAppControl(Tizen::Base::String& contactId, Tizen::App::IAppControlResponseListener* pListener);
+ //Used to make "AddContact" AppControl request.
+ bool LaunchAddContactAppControl(Tizen::Base::String& contactNumber, Tizen::App::IAppControlResponseListener* pListener);
+ //Used to check if there is any AppControl request in progress.
+ bool IsAppControlRunning(void);
+ //Used to abort any running AppControl request.
+ void AbortAppControlRequest(void);
+ //Used to complete any running AppControl request.
+ void AppControlRequestCompleted(void);
+ //Used to send message
+ void SendMessage(Tizen::Base::String& strMsg,Tizen::Base::String& recpientNum);
+ //Checks if message sending is in progress
+ bool IsMessageSendingInProgress(void);
+
//Event Listener methods from ITelephonyEventListener
virtual void HandleCallConnected(Tizen::Base::Collection::IListT<AppCallInfo>& pCallList);
virtual void HandleCallDisconnected(bool isLastCall, Tizen::Base::Collection::IListT<AppCallInfo>& pCallList);
//From IAppControlResponseListener
virtual void OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData);
virtual void OnAppForeground(void);
+ virtual void OnTelephonyNetworkStatusChanged(const Tizen::Telephony::NetworkStatus& networkStatus);
+ virtual void OnTelephonySimStateChanged(Tizen::Telephony::SimState state);
+ virtual void OnSmsMessageSent(result r);
private:
static CallPresentationModel* __pInstance;
// incoming call is rejected with "Reject With message" by opening Msg AppControl.
bool __isMessageAppControlRunning;
bool __isDialAppControlRunning;
+ bool __isMessageSendInProgress;
+ //Used to manage AppControl requests.
+ CallAppControlRequestMgr* __pAppControlMgr;
+ Tizen::Telephony::NetworkManager* __pNetworkManager;
+ Tizen::Telephony::SimStateManager* __psimStateManager;
+ Tizen::Telephony::SimInfo* __psimInfo;
+ Tizen::Messaging::SmsManager* __pSmsManager;
};
#endif // _PHN_CALL_PRESENTATION_MODEL_H_