[Release] wrt-plugins-common_0.3.74
[platform/framework/web/wrt-plugins-common.git] / src / modules / API / DEPRACATED / Display / EventChangeState.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 WRTPLUGINS_DISPLAY_EVENTCHANGESTATE_H_
17 #define WRTPLUGINS_DISPLAY_EVENTCHANGESTATE_H_
18
19 #include <dpl/shared_ptr.h>
20 #include <platform/commons/ListenerEvent.h>
21 #include <platform/commons/ListenerEventEmitter.h>
22 #include "Enums.h"
23
24 namespace WrtPlugins {
25 namespace Api {
26 namespace Display {
27 /**
28  * Event emitted when screen changes its state.
29  */
30 class EventChangeState : public Platform::ListenerEvent<EventChangeState>
31 {
32   public:
33     EventChangeState();
34     virtual ~EventChangeState();
35
36     /**
37      * Gets screen's state.
38      * @return State of the screen.
39      */
40     State getState() const;
41
42     /**
43      * Sets screen's state.
44      * @param state State of the screen.
45      */
46     void setState(State state);
47
48   protected:
49     State m_state; ///< State of the screen.
50 };
51
52 typedef DPL::SharedPtr<EventChangeState> EventChangeStatePtr;
53 typedef Platform::ListenerEventEmitter<EventChangeState>
54 EventChangeStateEmitter;
55 typedef DPL::SharedPtr<EventChangeStateEmitter> EventChangeStateEmitterPtr;
56 } // Display
57 } // Api
58 } // WrtPlugins
59
60 #endif // WRTPLUGINS_DISPLAY_EVENTCHANGESTATE_H_