[Release] wrt-plugins-common_0.3.74
[platform/framework/web/wrt-plugins-common.git] / src / modules / API / DEPRACATED / FeatureLoader / EventLoadFeature.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (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://www.apache.org/licenses/LICENSE-2.0
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 #ifndef _IEVENT_LOAD_FEATURE_
17 #define _IEVENT_LOAD_FEATURE_
18
19 /*
20  * @author Bartlomiej Grzelewski (b.grzelewski@samsung.com)
21  */
22
23 #include <commons/IEvent.h>
24 #include <dpl/shared_ptr.h>
25
26 namespace WrtPlugins {
27 namespace Api {
28 class EventLoadFeature : public WrtPlugins::Platform::IEvent<EventLoadFeature>
29 {
30   public:
31     explicit EventLoadFeature(const std::string &feature) :
32         m_success(false),
33         m_feature(feature),
34         m_object(0)
35     {}
36
37     ~EventLoadFeature()
38     {
39         LogDebug(__FUNCTION__);
40     }
41
42     const std::string getFeature() const
43     {
44         return m_feature;
45     }
46
47     const bool isSuccess() const
48     {
49         return m_success;
50     }
51
52     void setStatus(bool status)
53     {
54         m_success = status;
55     }
56
57     void* getObject() const
58     {
59         return m_object;
60     }
61
62     void setObject(void* jsObject)
63     {
64         m_object = jsObject;
65     }
66
67     virtual void clearOnCancel()
68     {}
69
70   private:
71     bool m_success;
72     std::string m_feature;
73     void       *m_object;
74 };
75
76 typedef DPL::SharedPtr<EventLoadFeature> EventLoadFeaturePtr;
77 } // namespace Api
78 } // namespace WrtPlugins
79
80 #endif // _IEVENT_LOAD_FEATURE_