Tizen 2.1 base
[sdk/ide/native-sample.git] / samples / native / partner / cpp / Sample / Tizen C++ / UiGestureDetector / UiGestureDetector / project / src / UiGestureDetectorEntry.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.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.tizenopensource.org/license
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  * This file contains the Tizen C++ application entry point.
19  */
20 #include "UiGestureDetector.h"
21
22 using namespace Osp::Base;
23 using namespace Osp::Base::Collection;
24
25 #ifdef __cplusplus
26 extern "C"
27 {
28 #endif // __cplusplus
29
30 _EXPORT_ int OspMain(int argc, char *pArgv[]);
31 #ifdef _PROFILE
32 extern void start_profile (void);
33 extern void end_profile (void);
34 #else
35 #define start_profile()
36 #define end_profile()
37 #endif
38
39
40 /**
41  * The entry function of Tizen C++ application called by the operating system.
42  */
43 int
44 OspMain(int argc, char *pArgv[])
45 {
46         result r = E_SUCCESS;
47
48         AppLog("Application started.");
49         ArrayList* pArgs = new ArrayList();
50         pArgs->Construct();
51         for (int i = 0; i < argc; i++)
52                 pArgs->Add(*(new String(pArgv[i])));
53
54         start_profile();
55         r = Osp::App::UiApp::Execute(UiGestureDetector::CreateInstance, pArgs);
56         if (IsFailed(r))
57         {
58                 AppLogException("Application execution failed-[%s].", GetErrorMessage(r));
59                 r &= 0x0000FFFF;
60         }
61         end_profile();
62
63         pArgs->RemoveAll(true);
64         delete pArgs;
65         AppLog("Application finished.");
66
67         return static_cast<int>(r);
68 }
69 #ifdef __cplusplus
70 }
71 #endif // __cplusplus