]> Creatis software - bbtk.git/blobdiff - packages/std/src/bbstdFilesFromDirectory.h
#2853 BBTK Feature New Normal - std:FilesFromDirectory box add option to create...
[bbtk.git] / packages / std / src / bbstdFilesFromDirectory.h
index 2d49d33d208813a7f563c2eed9546b545555ea0a..7d67556986c869538d1c584ec27d0978c9269345 100644 (file)
@@ -41,16 +41,20 @@ namespace bbstd
     BBTK_BLACK_BOX_INTERFACE(FilesFromDirectory,bbtk::AtomicBlackBox);
     BBTK_DECLARE_INPUT(In,std::string);
     BBTK_DECLARE_INPUT(Recursive,bool);  
+    BBTK_DECLARE_INPUT(Type,int);  
     BBTK_DECLARE_OUTPUT(Out,std::vector<std::string>);
+    BBTK_DECLARE_OUTPUT(OutSimple,std::vector<std::string>);
     BBTK_PROCESS(Process);
     void Process();
     
   private :
     std::string NormalizePath(std::string const &pathname);
-    int Explore(std::string const &dirpath, bool recursive);
-    
+    int        Explore(std::string const &dirpath, bool recursive);
+    void       CleanFilenames( std::string basePath );
+
     /// List of file names
     std::vector<std::string> Filenames;
+    std::vector<std::string> SimpleFilenames;
     /// name of the root directory to explore
     std::string DirName;
   };
@@ -58,14 +62,18 @@ namespace bbstd
   //=================================================================
   // BlackBox description
   BBTK_BEGIN_DESCRIBE_BLACK_BOX(FilesFromDirectory,bbtk::AtomicBlackBox);
-  BBTK_NAME("FilesFromDirectory");
-  BBTK_AUTHOR("jpr@creatis.univ-lyon1.fr");
-  BBTK_DESCRIPTION("returns the fullPathNames of the files in a Directory");
-  BBTK_CATEGORY("");
-  BBTK_INPUT(FilesFromDirectory,In,"Directory Name",std::string,"");
-  BBTK_INPUT(FilesFromDirectory,Recursive,"Recursive directory exploration",bool,"");
+   BBTK_NAME("FilesFromDirectory");
+   BBTK_AUTHOR("jpr@creatis.univ-lyon1.fr");
+   BBTK_DESCRIPTION("returns the fullPathNames of the files in a Directory");
+   BBTK_CATEGORY("");
+
+   BBTK_INPUT(FilesFromDirectory,In,"Directory Name",std::string,"");
+   BBTK_INPUT(FilesFromDirectory,Recursive,"Recursive directory exploration",bool,"");
+   BBTK_INPUT(FilesFromDirectory,Type,"0=files 1=All_directories 2=last_directories  (0 default)",int,"");
   
-  BBTK_OUTPUT(FilesFromDirectory,Out,"FullPathNames of the files",std::vector<std::string>,"");
+   BBTK_OUTPUT(FilesFromDirectory,Out,"FullPathNames of the files",std::vector<std::string>,"");
+   BBTK_OUTPUT(FilesFromDirectory,OutSimple,"Simple Full PathNames of the files",std::vector<std::string>,"");
+
   BBTK_END_DESCRIBE_BLACK_BOX(FilesFromDirectory);
 
 }