[SRUK] Initial copy from Tizen 2.2 version
[platform/core/uifw/dali-adaptor.git] / adaptors / base / lifecycle-observer.h
1 #ifndef __DALI_INTERNAL_BASE_LIFECYCLE_OBSERVER_H__
2 #define __DALI_INTERNAL_BASE_LIFECYCLE_OBSERVER_H__
3
4 //
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
6 //
7 // Licensed under the Flora License, Version 1.0 (the License);
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 //     http://floralicense.org/license/
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an AS IS BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19
20 // EXTERNAL INCLUDES
21
22 namespace Dali
23 {
24
25 namespace Internal
26 {
27
28 namespace Adaptor
29 {
30
31 /**
32  * Adaptor life cycle observer
33  */
34 class LifeCycleObserver
35 {
36 public:
37   /**
38    * Called when the adaptor has started.
39    */
40   virtual void OnStart() = 0;
41
42   /**
43    * Called when the adaptor is about to pause.
44    */
45   virtual void OnPause() = 0;
46
47   /**
48    * Called when the adaptor is about to resume.
49    */
50   virtual void OnResume() = 0;
51
52   /**
53    * Called when the adaptor is about to stop.
54    */
55   virtual void OnStop() = 0;
56
57   /**
58    * Called when the adaptor is about to be destroyed.
59    */
60   virtual void OnDestroy() = 0;
61
62 protected:
63
64   /**
65    * Constructor
66    */
67   LifeCycleObserver()
68   {
69   }
70
71   /**
72    * Virtual destructor
73    */
74   virtual ~LifeCycleObserver()
75   {
76   }
77
78 private:
79
80   // Undefined copy constructor.
81   LifeCycleObserver( const LifeCycleObserver& );
82
83   // Undefined assignment operator.
84   LifeCycleObserver& operator=( const LifeCycleObserver& );
85
86 };
87
88
89
90 } // namespace Internal
91
92 } // namespace Adaptor
93
94 } // namespace Dali
95
96 #endif // __DALI_INTERNAL_BASE_LIFECYCLE_OBSERVER_H__