2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.1 (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
9 // http://floralicense.org/license/
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.
19 * @file FUi_OrientationAgent.h
20 * @brief This is the header file for the _OrientationAgent class.
22 * This header file contains the declarations of the %_OrientationAgent class.
25 #ifndef _FUI_INTERNAL_ORIENTATION_AGENT_H_
26 #define _FUI_INTERNAL_ORIENTATION_AGENT_H_
28 #include <FUiIOrientationEventListener.h>
29 #include "FUi_Types.h"
31 namespace Tizen { namespace Ui
34 class _PublicOrientationEvent;
37 class _OrientationAgent
40 static _OrientationAgent* CreateInstanceN(Control& publicControl);
41 ~_OrientationAgent(void);
43 void AddListener(IOrientationEventListener& listener);
44 void RemoveListener(IOrientationEventListener& listener);
46 Orientation GetMode(void) const;
47 OrientationStatus GetStatus(void) const;
48 void SetMode(Orientation orientation);
50 void Update(bool draw = false);
51 void UpdateOrientation(void);
52 void SetRotation(const _Window& window, Orientation orientation);
54 void RequestOrientationEvent(void);
55 void FireOrientationEvent(void);
58 void FireEvent(OrientationStatus status, bool callback = false);
60 _OrientationAgent(Control& publicControl);
62 _OrientationAgent(const _OrientationAgent& rhs);
63 _OrientationAgent& operator =(const _OrientationAgent& rhs);
66 Control& __publicControl;
67 _PublicOrientationEvent* __pPublicEvent;
69 OrientationStatus __status;
70 OrientationStatus __tempStatus;
71 bool __firePublicEvent;
75 }; // _OrientationAgent
79 #endif // _FUI_INTERNAL_ORIENTATION_AGENT_H_