Flora license update
[apps/osp/Home.git] / src / HmHomeEntry.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        HmHomeAppEntry.cpp
19  * @brief       This file contains the Tizen application entry point.
20  */
21
22 #include "HmHomeApp.h"
23
24 using namespace Tizen::Base;
25 using namespace Tizen::Base::Collection;
26
27 #ifdef __cplusplus
28 extern "C"
29 {
30 #endif // __cplusplus
31
32 _EXPORT_ int OspMain(int argc, char* pArgv[]);
33
34 /**
35  * The entry function of Tizen application called by the operating system.
36  */
37 int
38 OspMain(int argc, char* pArgv[])
39 {
40         result r = E_OUT_OF_MEMORY;
41
42         AppLogDebug("Application started.");
43         ArrayList* pArgs = new (std::nothrow) ArrayList();
44
45         if (pArgs == null)
46         {
47                 return r;
48         }
49
50         r = pArgs->Construct();
51
52         TryCatch(r == E_SUCCESS, , "pArgs->Construct() failed with error %s", GetErrorMessage(r));
53
54         for (int i = 0; i < argc; i++)
55         {
56                 pArgs->Add((new (std::nothrow) String(pArgv[i])));
57         }
58
59         r = Tizen::App::UiApp::Execute(HomeApp::CreateInstance, pArgs);
60
61         TryCatch(r == E_SUCCESS, r &= 0x0000FFFF, "Application execution failed-[%s].", GetErrorMessage(r));
62 CATCH:
63         pArgs->RemoveAll(true);
64         delete pArgs;
65         AppLogDebug("Application finished.");
66         return static_cast<int>(r);
67 }
68 #ifdef __cplusplus
69 }
70 #endif // __cplusplus