License and Privilege changes
[apps/osp/Call.git] / src / CallFormFactory.cpp
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
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
7 //
8 //     http://floralicense.org/license/
9 //
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.
15 //
16
17 /**
18  * @file    FormFactory.cpp
19  * @brief   Form factory class
20  */
21 #include "CallPhoneFormFactory.h"
22 #include "CallSceneRegister.h"
23 //Call forms
24 #include "CallIncomingCallForm.h"
25 #include "CallActiveCallForm.h"
26 #include "CallConfCallerListForm.h"
27 #include "CallEndCallForm.h"
28
29 using namespace Tizen::Base;
30 using namespace Tizen::Ui::Controls;
31 using namespace Tizen::Ui::Scenes;
32
33
34
35 FormFactory::FormFactory(void)
36 {
37 }
38
39 FormFactory::~FormFactory(void)
40 {
41 }
42
43 Form*
44 FormFactory::CreateFormN(const String& formId, const SceneId& sceneId)
45 {
46         Form* pNewForm = null;
47
48         SceneManager* pSceneManager = SceneManager::GetInstance();
49         AppAssert(pSceneManager != null);
50         pNewForm = CreateVoiceCallForm(formId, sceneId);
51         return pNewForm;
52 }
53
54 Form*
55 FormFactory::CreateVoiceCallForm(const String& formId, const SceneId& sceneId)
56 {
57         SceneManager* pSceneManager = SceneManager::GetInstance();
58         AppAssert(pSceneManager != null);
59
60         BaseForm* pNewForm = null;
61
62         if (formId == IDL_FORM_OUTCALL)
63         {
64                 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_OUTGOINGCALL);
65                 pForm->Initialize();
66                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
67                 pNewForm = pForm;
68         }
69         else if (formId == IDL_FORM_OUT_EMERGENCYCALL)
70         {
71                 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_EMERGENCYOUTGOINGCALL);
72                 pForm->Initialize();
73                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
74                 pNewForm = pForm;
75         }
76         else if (formId == IDL_FORM_ACTIVECALL)
77         {
78                 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_ACTIVECALL);
79                 pForm->Initialize();
80                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
81                 pNewForm = pForm;
82         }
83         else if (formId == IDL_FORM_ACTIVE_EMERGENCYCALL)
84         {
85                 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_EMERGENCYACTIVECALL);
86                 pForm->Initialize();
87                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
88                 pNewForm = pForm;
89         }
90         else if (formId == IDL_FORM_INCOMINGCALL)
91         {
92                 IncomingCallForm* pForm = new (std::nothrow) IncomingCallForm();
93                 pForm->Initialize();
94                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
95                 pNewForm = pForm;
96         }
97         else if (formId == IDL_FORM_ENDCALL)
98         {
99                 EndCallForm* pForm = new (std::nothrow) EndCallForm();
100                 pForm->Initialize();
101                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
102                 pNewForm = pForm;
103         }
104         else if (formId == IDL_FORM_CONFCALLLIST)
105         {
106                 ConfCallerListForm* pForm = new (std::nothrow) ConfCallerListForm();
107                 pForm->Initialize();
108                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
109                 pNewForm = pForm;
110         }
111         else if (formId == IDL_FORM_MULTIPLEACTIVECALL)
112         {
113                 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_MULTIPLECALLS);
114                 pForm->Initialize();
115                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
116                 pNewForm = pForm;
117         }
118         else if (formId == IDL_FORM_CONFCALL)
119         {
120                 ActiveCallForm* pForm = new (std::nothrow) ActiveCallForm(FORMTYPE_ACTIVECONFCALL);
121                 pForm->Initialize();
122                 pSceneManager->AddSceneEventListener(sceneId, *pForm);
123                 pNewForm = pForm;
124         }
125
126         return pNewForm;
127 }
128
129