wrt-plugins-tizen_0.4.23
[framework/web/wrt-plugins-tizen.git] / src / MessagePort / plugin_initializer.cpp
1 //
2 // Tizen Web Device API
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        plugin_initializer.cpp
20  * @author      Kisub Song (kisubs.song@samsung.com)
21  * @version     0.1
22  * @brief
23  */
24
25 #include <Commons/plugin_initializer_def.h>
26 #include <Commons/WrtAccess/WrtAccess.h>
27 #include <TimeTracer.h>
28 #include "JSMessagePortManager.h"
29 #include <Logger.h>
30
31 namespace DeviceAPI {
32 namespace MessagePort {
33
34 using namespace WrtDeviceApis;
35 using namespace WrtDeviceApis::Commons;
36
37 void on_widget_start_callback(int widgetId)
38 {
39     LoggerD("[Tizen\\MessagePort] on_widget_start_callback (" << widgetId << ")");
40         TIME_TRACER_INIT();
41     Try
42     {
43         WrtAccessSingleton::Instance().initialize(widgetId);
44     }
45     Catch(Commons::Exception)
46     {
47         LoggerE("WrtAccess initialization failed");
48     }
49 }
50
51 void on_widget_stop_callback(int widgetId)
52 {
53     LoggerD("[Tizen\\MessagePort] on_widget_stop_callback (" << widgetId << ")");
54         TIME_TRACER_EXPORT_REPORT_TO(TIME_TRACER_EXPORT_FILE,"MessagePort");
55         TIME_TRACER_RELEASE();
56     Try
57     {
58         WrtAccessSingleton::Instance().deinitialize(widgetId);
59     }
60     Catch(Commons::Exception)
61     {
62         LoggerE("WrtAccess deinitialization failed");
63     }
64 }
65
66 void on_frame_load_callback(const void * context)
67 {
68     LoggerD("[Tizen\\MessagePort] on_frame_load_callback (" << context << ")");
69 }
70
71 void on_frame_unload_callback(const void * context)
72 {
73     LoggerD("[Tizen\\MessagePort] on_frame_unload_callback (" << context << ")");
74 }
75
76 PLUGIN_ON_WIDGET_START(on_widget_start_callback)
77 PLUGIN_ON_WIDGET_STOP(on_widget_stop_callback)
78 PLUGIN_ON_FRAME_LOAD(on_frame_load_callback)
79 PLUGIN_ON_FRAME_UNLOAD(on_frame_unload_callback)
80
81 PLUGIN_CLASS_MAP_BEGIN
82     PLUGIN_CLASS_MAP_ADD_CLASS(WRT_JS_EXTENSION_OBJECT_TIZEN,
83                                "messageport",
84                                (js_class_template_getter)DeviceAPI::MessagePort::JSMessagePortManager::getClassRef,
85                                NULL)
86 PLUGIN_CLASS_MAP_END
87
88 } // MessagePort
89 } // DeviceAPI