Go to the documentation of this file.00001
00026 #ifndef ORIENTATION_BIN_H
00027 #define ORIENTATION_BIN_H
00028
00029 #include "bin.h"
00030 #include "bufferreader.h"
00031 #include "abstractchain.h"
00032 #include "datatypes/orientationdata.h"
00033 #include "posedata.h"
00034
00035 #include "screeninterpreterfilter.h"
00036
00037 #include <ContextProvider>
00038
00039 #include <QPair>
00040
00041 class DeviceAdaptor;
00042
00043 class OrientationBin : public QObject, Bin
00044 {
00045 Q_OBJECT
00046
00047 public:
00048 OrientationBin(ContextProvider::Service& service);
00049 ~OrientationBin();
00050
00051 private Q_SLOTS:
00052 void startRun();
00053 void stopRun();
00054
00055 private:
00056 ContextProvider::Property topEdgeProperty;
00057 ContextProvider::Property isCoveredProperty;
00058 ContextProvider::Property isFlatProperty;
00059 ContextProvider::Group group;
00060
00061 BufferReader<AccelerationData> accelerometerReader;
00062 BufferReader<PoseData> topEdgeReader;
00063 BufferReader<PoseData> faceReader;
00064
00065 AbstractChain* orientationChain;
00066 ScreenInterpreterFilter screenInterpreterFilter;
00067
00068 int sessionId;
00069
00070 static const int POLL_INTERVAL;
00071 };
00072
00073 #endif