Add FSCommand URL scheme implementation to MovieClip.getURL().
[gnash.git] / libcore / SystemClock.h
blob9934fbfaf7afba1c5c63a20aecb6dd109bec6856
1 // SystemClock.h -- system-time based VirtualClock for gnash core lib
2 //
3 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
4 // Free Software Foundation, Inc
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 3 of the License, or
9 // (at your option) any later version.
10 //
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 #ifndef GNASH_SYSTEM_CLOCK_H
21 #define GNASH_SYSTEM_CLOCK_H
23 #include "VirtualClock.h" // for inheritance
25 #include <cstdint> // for std::uint64_t typedef
26 #include "dsodefs.h"
28 namespace gnash
31 /// A system-clock based virtual clock
33 /// This class uses the system clock for computing elapsed time.
34 /// See http://en.wikipedia.org/wiki/System_time for capacity
35 ///
36 class DSOEXPORT SystemClock: public VirtualClock
38 public:
40 /// Construct the clock, starting it
41 SystemClock();
43 // see VirtualClock.h for dox
44 unsigned long int elapsed() const;
46 // see VirtualClock.h for dox
47 void restart();
49 private:
51 /// System time at time of start
52 std::uint64_t _startTime;
56 } // namespace gnash
58 #endif // GNASH_SYSTEM_CLOCK_H