diff --git a/src/Extensions.cpp b/src/Extensions.cpp index 5fec7394..5eae6373 100644 --- a/src/Extensions.cpp +++ b/src/Extensions.cpp @@ -26,11 +26,23 @@ #include #include +#include #include +#include //////////////////////////////////////////////////////////////////////////////// -void Extensions::initialize () +void Extensions::initialize (const std::string& location) { + // Scan extension directory. + Directory d (location); + if (d.is_directory () && + d.readable ()) + { + _scripts = d.list (); + std::sort (_scripts.begin (), _scripts.end ()); + } + else + throw std::string ("Extension directory not readable: ") + d._data; } //////////////////////////////////////////////////////////////////////////////// diff --git a/src/Extensions.h b/src/Extensions.h index c35cc38c..a584f3e7 100644 --- a/src/Extensions.h +++ b/src/Extensions.h @@ -34,7 +34,7 @@ class Extensions { public: Extensions () = default; - void initialize (); + void initialize (const std::string&); std::string dump () const; private: