#else // cpPlugins_SYS_WINDOWS
# include <dlfcn.h>
#endif // cpPlugins_SYS_WINDOWS
+#include <cpPlugins_dirent.h>
// -------------------------------------------------------------------------
cpPlugins::Interface::
{
// Open library with its canonical path name
auto canonical_fn = cpPlugins::PathHelper::CanonicalPath( filename );
+ if( canonical_fn == "" )
+ throw std::runtime_error(
+ std::string( "cpPlugins::Interface: Library \"" ) +
+ filename +
+ std::string( "\" does not exist." )
+ );
void* hnd = Self::_DLOpen( canonical_fn );
if( hnd == NULL )
throw std::runtime_error(
std::string( "cpPlugins::Interface: Could not load library \"" ) +
- canonical_fn +
+ filename +
std::string( "\"" )
);
Self::_DLClose( hnd );
}
+// -------------------------------------------------------------------------
+void cpPlugins::Interface::
+LoadPluginDir( const std::string& dirname )
+{
+#error ACA VOY
+ DIR *dir;
+ struct dirent *ent;
+ if( (dir = opendir ( dirname.c_str( ) ) ) != NULL)
+ {
+ while ((ent = readdir (dir)) != NULL) {
+ printf ("%s\n", ent->d_name);
+ }
+ closedir (dir);
+ } else {
+ std::cerr << "error" << std::endl;
+ }
+}
+
// -------------------------------------------------------------------------
void cpPlugins::Interface::
UnloadAll( )