From: Braden M. <br...@us...> - 2006-11-22 00:05:20
|
Update of /cvsroot/openvrml/openvrml/examples In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3665/examples Modified Files: sdl_viewer.cpp Log Message: Factored creation of openvrml::resource_istreams to a dedicated abstract factory, openvrml::resource_fetcher. This allows the code associated with resource fetching to live at least as long as the browser instance, which it needs to do if there are any outstanding fetches happening when the browser instance is destroyed. Index: sdl_viewer.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/examples/sdl_viewer.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** sdl_viewer.cpp 31 Aug 2006 21:19:11 -0000 1.11 --- sdl_viewer.cpp 22 Nov 2006 00:05:18 -0000 1.12 *************** *** 39,46 **** namespace { ! class browser : public openvrml::browser { ! public: ! browser(); ! private: virtual std::auto_ptr<openvrml::resource_istream> --- 39,43 ---- namespace { ! class resource_fetcher : public openvrml::resource_fetcher { private: virtual std::auto_ptr<openvrml::resource_istream> *************** *** 106,110 **** sdl_viewer v(url); ! browser b; b.viewer(&v); --- 103,108 ---- sdl_viewer v(url); ! resource_fetcher fetcher; ! openvrml::browser b(fetcher, std::cout, std::cerr); b.viewer(&v); *************** *** 129,138 **** namespace { - browser::browser(): - openvrml::browser(std::cout, std::cerr) - {} - std::auto_ptr<openvrml::resource_istream> ! browser::do_get_resource(const std::string & uri) { using std::auto_ptr; --- 127,132 ---- namespace { std::auto_ptr<openvrml::resource_istream> ! resource_fetcher::do_get_resource(const std::string & uri) { using std::auto_ptr; |