• Main Page
  • Related Pages
  • Classes
  • Files
  • File List

src/client/Recording.hh

00001 /*
00002  * Copyright Staffan Gimåker 2009.
00003  *
00004  * ---
00005  *
00006  * Distributed under the Boost Software License, Version 1.0.
00007  * (See accompanying file LICENSE_1_0.txt or copy at
00008  * http://www.boost.org/LICENSE_1_0.txt)
00009  */
00010 
00011 #ifndef PEEKABOT_CLIENT_RECORDING_HH_INCLUDED
00012 #define PEEKABOT_CLIENT_RECORDING_HH_INCLUDED
00013 
00014 
00015 #include <boost/shared_ptr.hpp>
00016 #include <boost/date_time/posix_time/posix_time.hpp>
00017 
00018 #include "../Visibility.hh"
00019 
00020 
00021 namespace peekabot
00022 {
00023     namespace client
00024     {
00025         class RecordingImpl;
00026 
00032         class PEEKABOT_API Recording
00033         {
00034         public:
00035             Recording(boost::shared_ptr<RecordingImpl> impl);
00036 
00043             void play();
00044 
00048             void pause();
00049 
00053             bool is_paused() const;
00054 
00058             bool is_finished() const;
00059 
00070             void step(size_t n = 1);
00071 
00079             void step(const boost::posix_time::time_duration &td);
00080 
00086             void set_playback_speed(double factor);
00087 
00091             double get_playback_speed() const;
00092 
00096             boost::posix_time::time_duration elapsed() const;
00097 
00101             boost::posix_time::time_duration duration() const;
00102 
00103         private:
00104             boost::shared_ptr<RecordingImpl> m_impl;
00105         };
00106     }
00107 
00108     using client::Recording;
00109 }
00110 
00111 
00112 #endif // PEEKABOT_CLIENT_RECORDING_HH_INCLUDED

Generated on Sun Jan 30 2011 for peekabot by  doxygen 1.7.1