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