00001 /***************************************************************** 00002 * 00003 * This file is part of the FLIRTLib project 00004 * 00005 * FLIRTLib Copyright (c) 2010 Gian Diego Tipaldi and Kai O. Arras 00006 * 00007 * This software is licensed under the "Creative Commons 00008 * License (Attribution-NonCommercial-ShareAlike 3.0)" 00009 * and is copyrighted by Gian Diego Tipaldi and Kai O. Arras 00010 * 00011 * Further information on this license can be found at: 00012 * http://creativecommons.org/licenses/by-nc-sa/3.0/ 00013 * 00014 * FLIRTLib is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied 00016 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00017 * PURPOSE. 00018 * 00019 *****************************************************************/ 00020 00021 00022 00023 #ifndef SENSORSTREAM_H_ 00024 #define SENSORSTREAM_H_ 00025 00026 #include <sensors/AbstractReading.h> 00027 00034 enum SensorStreamOffset { 00035 END, 00036 BEGIN 00037 }; 00038 00047 class SensorStream { 00048 public: 00050 virtual const AbstractReading* next() const = 0; 00051 00053 virtual const AbstractReading* current() const = 0; 00054 00056 virtual bool seek(const unsigned int _position = 0, SensorStreamOffset _offset = BEGIN) = 0; 00057 00059 virtual unsigned int tell() const = 0; 00060 00062 virtual inline bool isSeekable() const {return false;} 00063 00065 virtual bool end() const = 0 ; 00066 }; 00067 00068 #endif