2 // Open Service Platform
3 // Copyright (c) 2012 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 FUixSensor_SensorEventDeliverer.h
20 * @brief This is the header file for the %_SensorEventDeliverer class.
22 * This header file contains the declarations of the %_SensorEventDeliverer class.
25 #ifndef _FUIX_SENSOR_INTERNAL_SENSOR_EVENT_DELIVERER_H_
26 #define _FUIX_SENSOR_INTERNAL_SENSOR_EVENT_DELIVERER_H_
28 #include <FBaseDataType.h>
29 #include <FBaseObject.h>
30 #include <FUixSensorSensorTypes.h>
31 #include "FUixSensor_ISensorCoreEventReceiver.h"
33 namespace Tizen { namespace Uix { namespace Sensor
36 class ISensorEventListener;
38 class _SensorEventDeliverer
39 : public Tizen::Base::Object
40 , private Tizen::Uix::Sensor::_ISensorCoreEventReceiver
43 _SensorEventDeliverer(void);
44 virtual ~_SensorEventDeliverer(void);
46 void SetDataEventInfo(Tizen::Uix::Sensor::ISensorEventListener& listener, Tizen::Uix::Sensor::SensorType sensorType, long interval, bool dataChanged);
47 void SetWakeupEventInfo(Tizen::Uix::Sensor::ISensorEventListener& listener, Tizen::Uix::Sensor::SensorType sensorType);
48 bool IsListenerEquals(Tizen::Uix::Sensor::ISensorEventListener& listener) const;
53 result ResetInterval(long interval);
55 virtual Tizen::Uix::Sensor::SensorData& GetSensorDataBuffer(void);
57 // _ISensorCoreEventReceiver
58 virtual Tizen::Uix::Sensor::_SensorCoreEvent& GetSensorCoreEventBuffer(void);
59 virtual void OnSensorCoreEventReceived(Tizen::Uix::Sensor::_SensorCoreEvent& event);
62 // _ISensorCoreEventReceiver
63 virtual Tizen::Uix::Sensor::_SensorCoreEventType GetSensorCoreEventType(void) const;
64 virtual long GetSensorCoreDataEventInterval(void) const;
65 virtual void SetSensorCoreEventHandle(Tizen::Uix::Sensor::_SensorCoreEventHandle sensorCoreEventHandle);
66 virtual Tizen::Uix::Sensor::_SensorCoreEventHandle GetSensorCoreEventHandle(void) const;
67 virtual void SetSensorCoreEventReceiverState(Tizen::Uix::Sensor::_ISensorCoreEventReceiver::SensorCoreEventReceiverState state);
68 virtual Tizen::Uix::Sensor::_ISensorCoreEventReceiver::SensorCoreEventReceiverState GetSensorCoreEventReceiverState(void) const;
73 SENSOR_EVENT_TYPE_DATA = 0,
74 SENSOR_EVENT_TYPE_WAKE_UP,
75 SENSOR_EVENT_TYPE_NONE = -1
78 SensorEventType __eventType;
79 Tizen::Uix::Sensor::ISensorEventListener* __pListener;
80 Tizen::Uix::Sensor::SensorType __sensorType;
84 Tizen::Uix::Sensor::_SensorCoreEventHandle __sensorCoreEventHandle;
85 Tizen::Uix::Sensor::_ISensorCoreEventReceiver::SensorCoreEventReceiverState __state;
86 Tizen::Uix::Sensor::_SensorCoreEvent __currentSensorCoreEvent;
87 Tizen::Uix::Sensor::_SensorCoreEvent __beforeSensorCoreEvent;
89 friend class _ISensorCore;
90 }; // _SensorEventDeliverer
91 } } }// Tizen::Uix::Sensor
93 #endif // _FUIX_SENSOR_INTERNAL_SENSOR_EVENT_DELIVERER_H_