Initialize Tizen 2.3
[framework/osp/uix.git] / src / FUixSensor_ISensorCoreEventReceiver.h
1 // 
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd. 
4 // 
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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     FUixSensor_ISensorCoreEventReceiver.h
20  * @brief    This is the header file for the %_ISensorCoreEventReceiver interface class.
21  *
22  * This header file contains the declarations of the %_ISensorCoreEventReceiver interface class.
23  */
24
25 #ifndef _FUIX_SENSOR_INTERNAL_ISENSOR_CORE_EVENT_RECEIVER_H_
26 #define _FUIX_SENSOR_INTERNAL_ISENSOR_CORE_EVENT_RECEIVER_H_
27
28 #include <FUixSensorSensorTypes.h>
29 #include "FUixSensor_SensorCoreEventTypes.h"
30
31 namespace Tizen { namespace Uix { namespace Sensor
32 {
33 class _ISensorCoreEventReceiver
34 {
35 public:
36         virtual ~_ISensorCoreEventReceiver(void){}
37
38         virtual Tizen::Uix::Sensor::_SensorCoreEvent& GetSensorCoreEventBuffer(void) = 0;
39         virtual void OnSensorCoreEventReceived(Tizen::Uix::Sensor::_SensorCoreEvent& event) = 0;
40
41 protected:
42         enum SensorCoreEventReceiverState
43         {
44                 SENSOR_CORE_EVENT_RECEIVER_STATE_NONE = 0,
45                 SENSOR_CORE_EVENT_RECEIVER_STATE_CONNECTED,
46                 SENSOR_CORE_EVENT_RECEIVER_STATE_PREPARED,
47                 SENSOR_CORE_EVENT_RECEIVER_STATE_STARTED
48         };
49
50 private:
51         virtual Tizen::Uix::Sensor::_SensorCoreEventType GetSensorCoreEventType(void) const = 0;
52         virtual long GetSensorCoreDataEventInterval(void) const = 0;
53
54         virtual void SetSensorCoreEventHandle(Tizen::Uix::Sensor::_SensorCoreEventHandle sensorCoreEventHandle) = 0;
55         virtual Tizen::Uix::Sensor::_SensorCoreEventHandle GetSensorCoreEventHandle(void) const = 0;
56
57         virtual void SetSensorCoreEventReceiverState(Tizen::Uix::Sensor::_ISensorCoreEventReceiver::SensorCoreEventReceiverState state) = 0;
58         virtual Tizen::Uix::Sensor::_ISensorCoreEventReceiver::SensorCoreEventReceiverState GetSensorCoreEventReceiverState(void) const = 0;
59
60         friend class _ISensorCore;
61 }; // _ISensorCoreEventReceiver
62 } } }// Tizen::Uix::Sensor
63
64 #endif // _FUIX_SENSOR_INTERNAL_ISENSOR_CORE_EVENT_RECEIVER_H_