Merge "atspi: remove undefined method" into devel/master
[platform/core/uifw/dali-adaptor.git] / dali / internal / system / common / core-event-interface.h
1 #ifndef DALI_INTERNAL_ADAPTOR_CORE_EVENT_INTERFACE_H
2 #define DALI_INTERNAL_ADAPTOR_CORE_EVENT_INTERFACE_H
3
4 /*
5  * Copyright (c) 2021 Samsung Electronics Co., Ltd.
6  *
7  * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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
21 namespace Dali
22 {
23 namespace Integration
24 {
25 struct Event;
26 }
27
28 namespace Internal
29 {
30 namespace Adaptor
31 {
32 /**
33  * This interface should be used by adaptor components to send events to Core.
34  * This is preferable to using Core directly i.e. so there is a common place for measuring performance.
35  */
36 class CoreEventInterface
37 {
38 public:
39   /**
40    * Queue an event with Core.
41    * @param[in] event The new event.
42    */
43   virtual void QueueCoreEvent(const Dali::Integration::Event& event) = 0;
44
45   /**
46    * Process the events queued with QueueEvent().
47    */
48   virtual void ProcessCoreEvents() = 0;
49
50 protected:
51   /**
52    * Protected virtual destructor
53    */
54   virtual ~CoreEventInterface()
55   {
56   }
57 };
58
59 } // namespace Adaptor
60
61 } // namespace Internal
62
63 } // namespace Dali
64
65 #endif // DALI_INTERNAL_ADAPTOR_CORE_EVENT_INTERFACE_H