2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.1 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file FormFactory.cpp
19 * @brief Form factory class
21 #include "CallPhoneFormFactory.h"
22 #include "CallSceneRegister.h"
24 #include "CallIncomingCallForm.h"
25 #include "CallActiveCallForm.h"
26 #include "CallConfCallerListForm.h"
27 #include "CallEndCallForm.h"
29 using namespace Tizen::Base;
30 using namespace Tizen::Ui::Controls;
31 using namespace Tizen::Ui::Scenes;
35 FormFactory::FormFactory(void)
39 FormFactory::~FormFactory(void)
44 FormFactory::CreateFormN(const String& formId, const SceneId& sceneId)
46 Form* pNewForm = null;
48 SceneManager* pSceneManager = SceneManager::GetInstance();
49 AppAssert(pSceneManager != null);
50 pNewForm = CreateVoiceCallForm(formId, sceneId);
55 FormFactory::CreateVoiceCallForm(const String& formId, const SceneId& sceneId)
57 SceneManager* pSceneManager = SceneManager::GetInstance();
58 AppAssert(pSceneManager != null);
60 BaseForm* pNewForm = null;
62 if (formId == IDL_FORM_OUTCALL)
64 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_OUTGOINGCALL);
66 pSceneManager->AddSceneEventListener(sceneId, *pForm);
69 else if (formId == IDL_FORM_OUT_EMERGENCYCALL)
71 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_EMERGENCYOUTGOINGCALL);
73 pSceneManager->AddSceneEventListener(sceneId, *pForm);
76 else if (formId == IDL_FORM_ACTIVECALL)
78 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_ACTIVECALL);
80 pSceneManager->AddSceneEventListener(sceneId, *pForm);
83 else if (formId == IDL_FORM_ACTIVE_EMERGENCYCALL)
85 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_EMERGENCYACTIVECALL);
87 pSceneManager->AddSceneEventListener(sceneId, *pForm);
90 else if (formId == IDL_FORM_INCOMINGCALL)
92 IncomingCallForm* pForm = new (std::nothrow) IncomingCallForm();
94 pSceneManager->AddSceneEventListener(sceneId, *pForm);
97 else if (formId == IDL_FORM_ENDCALL)
99 EndCallForm* pForm = new (std::nothrow) EndCallForm();
101 pSceneManager->AddSceneEventListener(sceneId, *pForm);
104 else if (formId == IDL_FORM_CONFCALLLIST)
106 ConfCallerListForm* pForm = new (std::nothrow) ConfCallerListForm();
108 pSceneManager->AddSceneEventListener(sceneId, *pForm);
111 else if (formId == IDL_FORM_MULTIPLEACTIVECALL)
113 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_MULTIPLECALLS);
115 pSceneManager->AddSceneEventListener(sceneId, *pForm);
118 else if (formId == IDL_FORM_CONFCALL)
120 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_ACTIVECONFCALL);
122 pSceneManager->AddSceneEventListener(sceneId, *pForm);