Merge "Fix memory leak on imei" into tizen_2.2
[platform/framework/native/appfw.git] / src / app / FApp_AppControlEvent.cpp
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Apache License, Version 2.0 (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://www.apache.org/licenses/LICENSE-2.0
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         FApp_AppControlEvent.cpp
19  * @brief       This is the implementation for the _AppControlEvent.cpp class.
20  */
21
22 #include <FBaseSysLog.h>
23
24 #include "FApp_AppControlEvent.h"
25 #include "FApp_AppControlEventArg.h"
26 #include "FApp_IAppControlSysEventListener.h"
27
28 using namespace Tizen::Base;
29 using namespace Tizen::Base::Runtime;
30
31 namespace Tizen { namespace App
32 {
33
34 void
35 _AppControlEvent::FireImpl(IEventListener& listener, const IEventArg& arg)
36 {
37         _IAppControlSysEventListener* pListener = dynamic_cast<_IAppControlSysEventListener*>(&listener);
38
39         if (pListener)
40         {
41                 const _AppControlEventArg* pEventArg = dynamic_cast<const _AppControlEventArg*>(&arg);
42
43                 if (pEventArg != null)
44                 {
45                         pListener->OnAppControlEventReceivedN(pEventArg->GetRequestId(), pEventArg->GetAppArg(), pEventArg->GetResult());
46
47                         return;
48                 }
49
50                 const _NativeAppControlEventArg* pNativeArg = dynamic_cast<const _NativeAppControlEventArg*>(&arg);
51
52                 if (pNativeArg != null)
53                 {
54                         pListener->OnAppControlEventReceivedN(pNativeArg->GetRequestId(), pNativeArg->GetResult(), pNativeArg->GetArgs(), pNativeArg->GetProperty());
55
56                         return;
57                 }
58
59                 const _AppControlStartEventArg* pStartEventArg = dynamic_cast<const _AppControlStartEventArg*>(&arg);
60
61                 if (pStartEventArg != null)
62                 {
63                         pListener->OnAppControlEventReceivedN(pStartEventArg->GetRequestId(), pStartEventArg->GetAppId(), pStartEventArg->GetOperationId());
64
65                         return;
66                 }
67
68                 SysLog(NID_APP, "Invalid AppControl arguments : listener(0x%x), arg(0x%x)", pListener, &arg);
69         }
70         else
71         {
72                 SysLog(NID_APP, "Invalid AppControl listener : listener(0x%x), arg(0x%x)", pListener, &arg);
73         }
74 }
75
76 } } // Tizen::App