[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/impl.cpp server/impl.h s...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/impl.cpp server/impl.h s... |
Date: |
Tue, 28 Nov 2006 12:30:43 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/11/28 12:30:43
Modified files:
. : ChangeLog
server : impl.cpp impl.h
server/parser : movie_def_impl.cpp movie_def_impl.h
sprite_definition.cpp
server/swf : TagLoadersTable.cpp TagLoadersTable.h
Log message:
* server/: impl.{cpp,h}, parser/movie_def_impl.{cpp,h},
parser/sprite_definition.cpp, swf/TagLoadersTable.{cpp,h}:
Another global removed: 's_tag_loaders', replaced
with TagLoadersTable turned into a singleton.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1801&r2=1.1802
http://cvs.savannah.gnu.org/viewcvs/gnash/server/impl.cpp?cvsroot=gnash&r1=1.82&r2=1.83
http://cvs.savannah.gnu.org/viewcvs/gnash/server/impl.h?cvsroot=gnash&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/movie_def_impl.cpp?cvsroot=gnash&r1=1.47&r2=1.48
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/movie_def_impl.h?cvsroot=gnash&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/sprite_definition.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/TagLoadersTable.cpp?cvsroot=gnash&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/TagLoadersTable.h?cvsroot=gnash&r1=1.5&r2=1.6
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1801
retrieving revision 1.1802
diff -u -b -r1.1801 -r1.1802
--- ChangeLog 28 Nov 2006 12:20:16 -0000 1.1801
+++ ChangeLog 28 Nov 2006 12:30:42 -0000 1.1802
@@ -1,3 +1,10 @@
+2006-11-28 Sandro Santilli <address@hidden>
+
+ * server/: impl.{cpp,h}, parser/movie_def_impl.{cpp,h},
+ parser/sprite_definition.cpp, swf/TagLoadersTable.{cpp,h}:
+ Another global removed: 's_tag_loaders', replaced
+ with TagLoadersTable turned into a singleton.
+
2006-11-28 Markus Gothe <address@hidden>
* Applied a bunch of RiscOS-patches.
Index: server/impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/impl.cpp,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -b -r1.82 -r1.83
--- server/impl.cpp 28 Nov 2006 12:02:04 -0000 1.82
+++ server/impl.cpp 28 Nov 2006 12:30:42 -0000 1.83
@@ -18,7 +18,7 @@
//
//
-/* $Id: impl.cpp,v 1.82 2006/11/28 12:02:04 strk Exp $ */
+/* $Id: impl.cpp,v 1.83 2006/11/28 12:30:42 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -118,17 +118,16 @@
s_use_cache_files = use_cache;
}
-// Keep a table of loader functions for the different tag types.
-SWF::TagLoadersTable s_tag_loaders;
-
// Associate the specified tag type with the given tag loader
// function.
void
register_tag_loader(SWF::tag_type t, SWF::TagLoadersTable::loader_function lf)
{
- bool loader_registered = s_tag_loaders.register_loader(t, lf);
- //if ( !loader_registered )
- // log_error("Duplicate loader registered for tag %d", t);
+ using SWF::TagLoadersTable;
+
+ TagLoadersTable& table = TagLoadersTable::getInstance();
+
+ bool loader_registered = table.register_loader(t, lf);
assert(loader_registered);
}
Index: server/impl.h
===================================================================
RCS file: /sources/gnash/gnash/server/impl.h,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- server/impl.h 21 Nov 2006 00:25:46 -0000 1.39
+++ server/impl.h 28 Nov 2006 12:30:42 -0000 1.40
@@ -18,7 +18,7 @@
//
//
-/* $Id: impl.h,v 1.39 2006/11/21 00:25:46 strk Exp $ */
+/* $Id: impl.h,v 1.40 2006/11/28 12:30:42 strk Exp $ */
#ifndef GNASH_IMPL_H
#define GNASH_IMPL_H
@@ -115,16 +115,6 @@
// standard tags are handled within gnash. Host apps might want
// to call this in order to handle special tag types.
-#if 0
-/// Signature of an SWF tag loader
-typedef void (*loader_function)(stream* input, int tag_type, movie_definition*
m);
-
-/// These are the registered tag loaders
-extern hash<int, loader_function> s_tag_loaders;
-#else
-extern SWF::TagLoadersTable s_tag_loaders;
-#endif
-
/// Register a tag loader for the given tag
void register_tag_loader(SWF::tag_type t,
SWF::TagLoadersTable::loader_function lf);
Index: server/parser/movie_def_impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/movie_def_impl.cpp,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- server/parser/movie_def_impl.cpp 27 Nov 2006 15:57:51 -0000 1.47
+++ server/parser/movie_def_impl.cpp 28 Nov 2006 12:30:42 -0000 1.48
@@ -311,7 +311,8 @@
movie_def_impl::movie_def_impl(create_bitmaps_flag cbf,
create_font_shapes_flag cfs)
:
- _tag_loaders(s_tag_loaders), // FIXME: use a class-static
TagLoadersTable for movie_def_impl
+ // FIXME: use a class-static TagLoadersTable for movie_def_impl
+ _tag_loaders(SWF::TagLoadersTable::getInstance()),
m_create_bitmaps(cbf),
m_create_font_shapes(cfs),
m_frame_rate(30.0f),
Index: server/parser/movie_def_impl.h
===================================================================
RCS file: /sources/gnash/gnash/server/parser/movie_def_impl.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- server/parser/movie_def_impl.h 23 Nov 2006 20:14:13 -0000 1.22
+++ server/parser/movie_def_impl.h 28 Nov 2006 12:30:43 -0000 1.23
@@ -494,7 +494,7 @@
/// This function uses a private TagLoadersTable
/// to interpret specific tag types.
/// Currently the TagLoadersTable in use is the
- /// gnash::s_tag_loaders global variable
+ /// TagLoadersTable singleton.
///
void read_all_swf();
Index: server/parser/sprite_definition.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/sprite_definition.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/parser/sprite_definition.cpp 27 Nov 2006 21:54:10 -0000 1.5
+++ server/parser/sprite_definition.cpp 28 Nov 2006 12:30:43 -0000 1.6
@@ -173,7 +173,8 @@
sprite_definition::sprite_definition(movie_definition* m, stream* in)
:
- _tag_loaders(s_tag_loaders), // FIXME: use a class-static
TagLoadersTable for sprite_definition
+ // FIXME: use a class-static TagLoadersTable for sprite_definition
+ _tag_loaders(SWF::TagLoadersTable::getInstance()),
m_movie_def(m),
m_frame_count(0),
m_loading_frame(0)
Index: server/swf/TagLoadersTable.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/TagLoadersTable.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- server/swf/TagLoadersTable.cpp 29 Oct 2006 18:34:16 -0000 1.2
+++ server/swf/TagLoadersTable.cpp 28 Nov 2006 12:30:43 -0000 1.3
@@ -56,6 +56,13 @@
return true;
}
+TagLoadersTable&
+TagLoadersTable::getInstance()
+{
+ static TagLoadersTable inst;
+ return inst;
+}
+
} // namespace gnash::SWF
} // namespace gnash
Index: server/swf/TagLoadersTable.h
===================================================================
RCS file: /sources/gnash/gnash/server/swf/TagLoadersTable.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/swf/TagLoadersTable.h 29 Oct 2006 18:34:16 -0000 1.5
+++ server/swf/TagLoadersTable.h 28 Nov 2006 12:30:43 -0000 1.6
@@ -51,12 +51,6 @@
typedef void (*loader_function)(
stream* input, tag_type type, movie_definition* m);
- /// Default constructor
- TagLoadersTable()
- :
- _tag_loaders()
- {}
-
/// \brief
/// Get a pointer to the loader_function for the
/// specified SWF::tag_type.
@@ -73,6 +67,10 @@
///
bool register_loader(tag_type t, loader_function lf);
+ /// \brief
+ /// Return a reference to the singleton instance
+ /// of this class.
+ static TagLoadersTable& getInstance();
private:
@@ -81,6 +79,25 @@
container _tag_loaders;
+ /// Use getInstance()
+ TagLoadersTable()
+ :
+ _tag_loaders()
+ {}
+
+ ~TagLoadersTable() {}
+
+ TagLoadersTable(const TagLoadersTable& tl)
+ :
+ _tag_loaders(tl._tag_loaders)
+ {}
+
+ TagLoadersTable& operator=(const TagLoadersTable& tl)
+ {
+ _tag_loaders = tl._tag_loaders;
+ return *this;
+ }
+
};
} // namespace gnash::SWF
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/impl.cpp server/impl.h s...,
Sandro Santilli <=