Merge "Change the way to conver Mbs to Wcs and vice versa" into tizen_2.1
[platform/framework/native/appfw.git] / src / app / FApp_AppControlEvent.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file         FApp_AppControlEvent.cpp
20  * @brief       This is the implementation for the _AppControlEvent.cpp class.
21  */
22
23 #include <FBaseSysLog.h>
24
25 #include "FApp_AppControlEvent.h"
26 #include "FApp_AppControlEventArg.h"
27 #include "FApp_IAppControlSysEventListener.h"
28
29 using namespace Tizen::Base;
30 using namespace Tizen::Base::Runtime;
31
32 namespace Tizen { namespace App
33 {
34
35 void
36 _AppControlEvent::FireImpl(IEventListener& listener, const IEventArg& arg)
37 {
38         _IAppControlSysEventListener* pListener = dynamic_cast<_IAppControlSysEventListener*>(&listener);
39
40         if (pListener)
41         {
42                 const _AppControlEventArg* pEventArg = dynamic_cast<const _AppControlEventArg*>(&arg);
43
44                 if (pEventArg != null)
45                 {
46                         pListener->OnAppControlEventReceivedN(pEventArg->GetRequestId(), pEventArg->GetAppArg(), pEventArg->GetResult());
47
48                         return;
49                 }
50
51                 const _NativeAppControlEventArg* pNativeArg = dynamic_cast<const _NativeAppControlEventArg*>(&arg);
52
53                 if (pNativeArg != null)
54                 {
55                         pListener->OnAppControlEventReceivedN(pNativeArg->GetRequestId(), pNativeArg->GetResult(), pNativeArg->GetArgs());
56
57                         return;
58                 }
59
60                 const _AppControlStartEventArg* pStartEventArg = dynamic_cast<const _AppControlStartEventArg*>(&arg);
61
62                 if (pStartEventArg != null)
63                 {
64                         pListener->OnAppControlEventReceivedN(pStartEventArg->GetRequestId(), pStartEventArg->GetAppId(), pStartEventArg->GetOperationId());
65
66                         return;
67                 }
68
69                 SysLog(NID_APP, "Invalid AppControl arguments : listener(0x%x), arg(0x%x)", pListener, &arg);
70         }
71         else
72         {
73                 SysLog(NID_APP, "Invalid AppControl listener : listener(0x%x), arg(0x%x)", pListener, &arg);
74         }
75 }
76
77 } } // Tizen::App