sync with master
[framework/osp/common-service.git] / src / CommonServiceEntry.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 #include "CommonService.h"
19
20 using namespace Tizen::Base;
21 using namespace Tizen::Base::Collection;
22
23 #ifdef __cplusplus
24 extern "C"
25 {
26 #endif // __cplusplus
27
28 _EXPORT_ int OspMain(int argc, char *pArgv[]);
29
30 /**
31  * The entry function of Tizen C++ application called by the operating system.
32  */
33 int
34 OspMain(int argc, char *pArgv[])
35 {
36         result r = E_SUCCESS;
37
38         AppLog("Application started.");
39         ArrayList* pArgs = new ArrayList();
40         pArgs->Construct();
41         for (int i = 0; i < argc; i++)
42         {
43                 pArgs->Add(*(new String(pArgv[i])));
44         }
45
46         r = Tizen::App::ServiceApp::Execute(CommonService::CreateInstance, pArgs);
47         if (IsFailed(r))
48         {
49                 AppLogException("Application execution failed-[%s].", GetErrorMessage(r));
50                 r &= 0x0000FFFF;
51         }
52
53         pArgs->RemoveAll(true);
54         delete pArgs;
55         AppLog("Application finished.");
56
57         return static_cast<int>(r);
58 }
59 #ifdef __cplusplus
60 }
61 #endif // __cplusplus