gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/Makefile.am server/Virtu...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/Makefile.am server/Virtu...
Date: Fri, 07 Dec 2007 11:45:38 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/12/07 11:45:37

Modified files:
        .              : ChangeLog 
        server         : Makefile.am 
Added files:
        server         : VirtualClock.h SystemClock.cpp SystemClock.h 

Log message:
        New VirtualClock virtual class and system time based implementation.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5103&r2=1.5104
http://cvs.savannah.gnu.org/viewcvs/gnash/server/Makefile.am?cvsroot=gnash&r1=1.133&r2=1.134
http://cvs.savannah.gnu.org/viewcvs/gnash/server/VirtualClock.h?cvsroot=gnash&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/SystemClock.cpp?cvsroot=gnash&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/SystemClock.h?cvsroot=gnash&rev=1.1

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5103
retrieving revision 1.5104
diff -u -b -r1.5103 -r1.5104
--- ChangeLog   7 Dec 2007 08:34:42 -0000       1.5103
+++ ChangeLog   7 Dec 2007 11:45:36 -0000       1.5104
@@ -1,5 +1,10 @@
 2007-12-07 Sandro Santilli <address@hidden>
 
+       * server/: Makefile.am, SystemClock.{cpp,h}, VirtualClock.cpp:
+         New VirtualClock virtual class and system time based implementation.
+
+2007-12-07 Sandro Santilli <address@hidden>
+
        * testsuite/misc-ming.all/intervalTest.as: more self-contained
          tests, to reduce relying on MovieTester concept of time;
 

Index: server/Makefile.am
===================================================================
RCS file: /sources/gnash/gnash/server/Makefile.am,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -b -r1.133 -r1.134
--- server/Makefile.am  1 Dec 2007 15:40:59 -0000       1.133
+++ server/Makefile.am  7 Dec 2007 11:45:37 -0000       1.134
@@ -18,7 +18,7 @@
 # 
 #
 
-# $Id: Makefile.am,v 1.133 2007/12/01 15:40:59 strk Exp $
+# $Id: Makefile.am,v 1.134 2007/12/07 11:45:37 strk Exp $
 
 AUTOMAKE_OPTIONS = 
 
@@ -60,6 +60,7 @@
        Property.cpp \
        PropertyList.cpp \
        URLAccessManager.cpp \
+       SystemClock.cpp \
        as_environment.cpp \
        as_function.cpp \
        as_object.cpp \
@@ -121,6 +122,8 @@
        StreamProvider.h \
        StringPredicates.h \
        URLAccessManager.h \
+       VirtualClock.h \
+       SystemClock.h \
        array.h \
        as_environment.h \
        as_function.h \

Index: server/VirtualClock.h
===================================================================
RCS file: server/VirtualClock.h
diff -N server/VirtualClock.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ server/VirtualClock.h       7 Dec 2007 11:45:37 -0000       1.1
@@ -0,0 +1,59 @@
+// VirtualClock.h -- virtual clock for gnash core lib
+// 
+//   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef GNASH_VIRTUAL_CLOCK_H
+#define GNASH_VIRTUAL_CLOCK_H
+
+// What's the policy for when to include config.h ? --strk Dec 7 2007;
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+
+namespace gnash
+{
+
+/// A class used to virtualize time flow
+//
+/// This class will be used to fetch current time
+/// everytime it is needed by the core lib.
+///
+class VirtualClock
+{
+public:
+
+    /// Return number of milliseconds elapsed since start.
+    //
+    /// Subclass this to provide time to the core lib.
+    //
+    /// NOTE:
+    /// 32bit unsigned int has an upper limit of 4294967295
+    /// which means about 49 days before overlflow.
+    ///
+    virtual unsigned long int elapsed() const=0;
+
+    /// Restart the clock
+    virtual void restart()=0;
+
+    virtual ~VirtualClock() {}
+};
+
+} // namespace gnash
+
+#endif // GNASH_VIRTUAL_CLOCK_H
+

Index: server/SystemClock.cpp
===================================================================
RCS file: server/SystemClock.cpp
diff -N server/SystemClock.cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ server/SystemClock.cpp      7 Dec 2007 11:45:37 -0000       1.1
@@ -0,0 +1,57 @@
+// SystemClock.cpp -- system-time based VirtualClock for gnash core lib
+// 
+//   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "SystemClock.h"
+
+#include "tu_timer.h" // for fetchSystemTime
+
+#include <boost/cstdint.hpp> // for boost::uint64_t typedef
+
+namespace gnash
+{
+
+/* static private */
+boost::uint64_t
+SystemClock::fetchSystemTime() 
+{
+    // TODO: review tu_timer implementation to make sure it
+    //       always return milliseconds
+    return tu_timer::get_ticks();
+}
+
+/* public */
+unsigned long int
+SystemClock::elapsed() const
+{
+    return fetchSystemTime() - _startTime;
+}
+
+/* public */
+void
+SystemClock::restart()
+{
+    _startTime = fetchSystemTime();
+}
+
+} // namespace gnash
+

Index: server/SystemClock.h
===================================================================
RCS file: server/SystemClock.h
diff -N server/SystemClock.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ server/SystemClock.h        7 Dec 2007 11:45:37 -0000       1.1
@@ -0,0 +1,65 @@
+// SystemClock.h -- system-time based VirtualClock for gnash core lib
+// 
+//   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef GNASH_SYSTEM_CLOCK_H
+#define GNASH_SYSTEM_CLOCK_H
+
+// What's the policy for when to include config.h ? --strk Dec 7 2007;
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "VirtualClock.h" // for inheritance
+
+#include <boost/cstdint.hpp> // for boost::uint64_t typedef
+
+namespace gnash
+{
+
+/// A system-clock based virtual clock
+//
+/// This class uses the system clock for computing elapsed time.
+/// See http://en.wikipedia.org/wiki/System_time for capacity
+///
+class SystemClock
+{
+public:
+
+    //
+    SystemClock();
+
+    // see VirtualClock.h for dox
+    unsigned long int elapsed() const;
+
+    // see VirtualClock.h for dox
+    void restart();
+
+private:
+
+    /// Query system time and return it in milliseconds
+    static boost::uint64_t fetchSystemTime();
+
+    /// System time at time of start
+    boost::uint64_t _startTime;
+};
+
+
+} // namespace gnash
+
+#endif // GNASH_SYSTEM_CLOCK_H
+




reply via email to

[Prev in Thread] Current Thread [Next in Thread]