Applied latest source code
[apps/native/preloaded/Clock.git] / inc / ClkSceneRegister.h
1 //
2 // Tizen Native SDK
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
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
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    SceneRegister.h
20  * @brief       This header file contains the declarations of the SceneRegister class.
21  *
22  */
23
24 #ifndef _CLK_SCENE_REGISTER_H_
25 #define _CLK_SCENE_REGISTER_H_
26
27 /// Use 'extern' to eliminate duplicate data allocation.
28 extern const wchar_t* IDSCN_ALARM_LIST;
29 extern const wchar_t* IDSCN_ALARM_DELETE_LIST;
30 extern const wchar_t* IDSCN_CREATE_ALARM;
31 extern const wchar_t* IDSCN_CITY_LIST;
32 extern const wchar_t* IDSCN_EDIT_SNOOZE;
33 extern const wchar_t* IDSCN_ALARM_RINGING;
34 extern const wchar_t* IDSCN_ALARM_RINGING_LOCK;
35 extern const wchar_t* IDSCN_WORLD_CLOCK_LIST;
36 extern const wchar_t* IDSCN_WORLD_CLOCK_DELETE_LIST;
37 extern const wchar_t* IDSCN_STOP_WATCH;
38 extern const wchar_t* IDSCN_TIMER_VIEW;
39 extern const wchar_t* IDSCN_TIMER_RINGING;
40 extern const wchar_t* IDSCN_WORLD_CLOCK_REORDER ;
41 extern const wchar_t* IDSCN_TIMER_RINGING_LOCK;
42
43
44 class SceneRegister
45 {
46 public:
47
48         /**
49          * Unregister and destroy the scene
50          *
51          * @return              An error code
52          * @param[in]   sceneID The sceneID of new view.
53          * @exception   E_SUCCESS                       The method is successful.
54          * @exception   E_INVALID_ARG           A specified input parameter is invalid.
55          * @exception   E_OBJ_ALREADY_EXIST     The specified @c sceneId already exists.
56          * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
57          * @exception   E_INVALID_STATE         This instance has not been constructed as yet.
58          * @remarks             Unregister and destroy the scene
59          */
60         static result DestroyAndUnRegisterScene(const Tizen::Base::String& sceneID);
61
62         /**
63          * Registers all the scenes using Register~SceneRegisterScene() method of the SceneManager class
64          *
65          */
66         static void RegisterAllScenes(void);
67
68         /**
69          * Registers New main view scene for multi window
70          *
71          * @return              no return value
72          * @param[in]   sceneID The sceneID of new view.
73          * @param[in]   formID  The formID of new View.
74          * @exception   E_SUCCESS                       The method is successful.
75          * @exception   E_INVALID_ARG           A specified input parameter is invalid.
76          * @exception   E_OBJ_ALREADY_EXIST     The specified @c sceneId already exists.
77          * @exception   E_OUT_OF_MEMORY         The memory is insufficient.
78          * @exception   E_INVALID_STATE         This instance has not been constructed as yet.
79          * @remarks             Register the new main view in scenemanager.
80          */
81         static result RegisterNewMainView(const Tizen::Base::String& sceneID, const Tizen::Base::String& FormID);
82
83 private:
84         /**
85          * Default constructor
86          */
87         SceneRegister(void);
88
89         /**
90          *      Default destructor
91          */
92         ~SceneRegister(void);
93 };
94
95 #endif // _CLK_SCENE_REGISTER_H_