[Hdrflow-svn] SF.net SVN: hdrflow: [164] trunk/lib/openlibraries/src
Status: Pre-Alpha
Brought to you by:
glslang
|
From: <gl...@us...> - 2007-06-25 20:58:22
|
Revision: 164
http://hdrflow.svn.sourceforge.net/hdrflow/?rev=164&view=rev
Author: glslang
Date: 2007-06-25 13:57:56 -0700 (Mon, 25 Jun 2007)
Log Message:
-----------
+ changes to proper use discovery plugin item within an STL container
Modified Paths:
--------------
trunk/lib/openlibraries/src/openobjectlib/sg/appearance.cpp
trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.cpp
trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp
Modified: trunk/lib/openlibraries/src/openobjectlib/sg/appearance.cpp
===================================================================
--- trunk/lib/openlibraries/src/openobjectlib/sg/appearance.cpp 2007-06-25 19:09:09 UTC (rev 163)
+++ trunk/lib/openlibraries/src/openobjectlib/sg/appearance.cpp 2007-06-25 20:57:56 UTC (rev 164)
@@ -141,7 +141,7 @@
if( plugins.empty( ) ) return false;
oil_discovery::const_iterator i = plugins.begin( );
- boost::shared_ptr<il::openimagelib_plugin> plug = boost::shared_static_cast<il::openimagelib_plugin>( i->create_plugin( "" ) );
+ il::openimagelib_plugin_ptr plug = boost::shared_dynamic_cast<il::openimagelib_plugin>( i->create_plugin( "" ) );
if( !plug ) return false;
im_ = plug->load( path );
Modified: trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.cpp
===================================================================
--- trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.cpp 2007-06-25 19:09:09 UTC (rev 163)
+++ trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.cpp 2007-06-25 20:57:56 UTC (rev 164)
@@ -231,7 +231,7 @@
opl_ptr discover_query_impl::plugin_proxy::create_plugin( const string& options ) const
{
if( !item_.resolver.dlopened )
- acquire_shared_symbols( item_.resolver, item_.filename );
+ acquire_shared_symbols( const_cast<plugin_resolver&>( item_.resolver ), item_.filename );
if( item_.resolver.dlopened )
{
Modified: trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp
===================================================================
--- trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp 2007-06-25 19:09:09 UTC (rev 163)
+++ trunk/lib/openlibraries/src/openpluginlib/pl/openpluginlib.hpp 2007-06-25 20:57:56 UTC (rev 164)
@@ -44,16 +44,10 @@
class OPENPLUGINLIB_DECLSPEC plugin_proxy
{
public:
- plugin_proxy( plugin_item& item )
+ plugin_proxy( plugin_item item )
: item_( item )
{ }
- plugin_proxy& operator=( const plugin_proxy& rhs )
- {
- item_ = rhs.item_;
- return *this;
- }
-
opl_ptr create_plugin( const string& options ) const;
public:
@@ -77,7 +71,7 @@
{ return item_.context; }
private:
- plugin_item& item_;
+ plugin_item item_;
};
private:
@@ -111,10 +105,7 @@
template<class StrictWeakOrdering>
void sort( const StrictWeakOrdering& comp = StrictWeakOrdering( ) )
- {
- std::sort( plugins_.begin( ), plugins_.end( ), comp );
- plugins_.erase( std::unique( plugins_.begin( ), plugins_.end( ), equals( ) ), plugins_.end( ) );
- }
+ { std::sort( plugins_.begin( ), plugins_.end( ), comp ); }
private:
container plugins_;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|