Merge "Accessibility changes for DateTimePicker & Fix for TDIS-5084." into tizen_2.1
[platform/framework/native/uifw.git] / inc / FUiScenesISceneTransitionPolicyProvider.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 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://floralicense.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  * @file        FUiScenesISceneTransitionPolicyProvider.h
20  * @brief       This is the header file for the %ISceneTransitionPolicyProvider interface.
21  *
22  * This header file contains the declarations of the %ISceneTransitionPolicyProvider interface.
23  */
24
25 #ifndef _FUI_SCENES_ISCENE_TRANSITION_POLICY_PROVIDER_H_
26 #define _FUI_SCENES_ISCENE_TRANSITION_POLICY_PROVIDER_H_
27
28 #include <FUiScenesTypes.h>
29
30
31 namespace Tizen { namespace Base { namespace Collection
32 {
33 class IList;
34 }}}
35
36
37 namespace Tizen { namespace Ui { namespace Scenes
38 {
39
40 /**
41  * @interface   ISceneTransitionPolicyProvider
42  * @brief               This interface provides the scene transition policies.
43  *
44  * @since       2.0
45  *
46  * The %ISceneTransitionPolicyProvider interface is used to provide the scenario logic for scene transitions.
47  *
48  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/scene_management.htm">Scene Management</a>.
49  */
50 class _OSP_EXPORT_ ISceneTransitionPolicyProvider
51 {
52 public:
53         /**
54          * This polymorphic destructor should be overridden if required. This way,
55          * the destructors of the derived classes are called when the destructor of this interface is called.
56          *
57          * @since       2.0
58          */
59         virtual ~ISceneTransitionPolicyProvider(void) {}
60
61         /**
62          * Gets the next scene. @n
63          * Called on SceneManager#GoForward(const Tizen::Base::Collection::IList*,SceneTransitionAnimationType,SceneHistoryOption,SceneDestroyOption)
64          * to determine the next scene.
65          *
66          * @since       2.0
67          *
68          * @return              A scene ID
69          * @param[in]   currentSceneId  The scene ID of the active Scene
70          * @param[in]   pArgs                   A pointer to an argument list
71          */
72         virtual Tizen::Ui::Scenes::SceneId GetNextScene(const Tizen::Ui::Scenes::SceneId& currentSceneId,
73                                                                                                   const Tizen::Base::Collection::IList* pArgs) = 0;
74
75
76 protected:
77         //
78         // This method is for internal use only. Using this method can cause behavioral,
79         // security-related, and consistency-related issues in the application.
80         //
81         // @since       2.0
82         //
83         virtual void ISceneTransitionPolicyProvider_Reserved1(void) {}
84
85         //
86         // This method is for internal use only. Using this method can cause behavioral,
87         // security-related, and consistency-related issues in the application.
88         //
89         // @since       2.0
90         //
91         virtual void ISceneTransitionPolicyProvider_Reserved2(void) {}
92
93         //
94         // This method is for internal use only. Using this method can cause behavioral,
95         // security-related, and consistency-related issues in the application.
96         //
97         // @since       2.0
98         //
99         virtual void ISceneTransitionPolicyProvider_Reserved3(void) {}
100
101 }; // ISceneTransitionPolicyProvider
102 } } } // Tizen::Ui::Scenes
103
104 #endif  //_FUI_SCENES_ISCENE_TRANSITION_POLICY_PROVIDER_H_