SIBCSearchPath.h

00001 //***************************************************************************************
00002 //
00003 // File supervisor: Crosswalk team
00004 //
00005 // Copyright 2008 Autodesk, Inc.  All rights reserved.  
00006 // Use of this software is subject to the terms of the Autodesk license agreement 
00007 // provided at the time of installation or download, or which otherwise accompanies 
00008 // this software in either electronic or hard copy form.
00009 //
00010 //***************************************************************************************
00011 
00012 //***************************************************************************************
00013 // Defines
00014 //***************************************************************************************
00015 #ifndef __CSIBCSearchPath_H__
00016 #define __CSIBCSearchPath_H__
00017 
00018 //***************************************************************************************
00019 // Includes
00020 //***************************************************************************************
00021 #include <SIBCArray.h>
00022 #include <SIBCString.h>
00023 #include <SIBCUtil.h>
00024 
00025 //***************************************************************************************
00026 // CSIBCSearchPath | deals with paths and filenames
00027 //***************************************************************************************
00028 
00030 
00033 class XSICOREEXPORT CSIBCSearchPath
00034 {
00035     public:
00036 
00040         CSIBCSearchPath();
00041 
00042         ~CSIBCSearchPath();
00043 
00056         SI_Error AddPath( CSIBCString & in_Path);
00057 
00068         SI_Error ClearPaths();
00069 
00084         SI_Error Search( CSIBCString &file, CSIBCString &resultpath );
00085 
00102         SI_Error GetFiles( CSIBCString &in_Filter, CSIBCArray < CSIBCString * > *out_pFiles );
00103 
00104         
00120         SI_Error GetDirectories( CSIBCString& in_Filter, CSIBCArray < CSIBCString * > * out_pDirs );
00121             
00122 
00129         CSIBCArray < CSIBCString * > &GetPaths() { return m_Paths; };   // Get the paths
00130 
00131 
00132     protected:
00133 
00134 
00135     private:
00136         CSIBCArray < CSIBCString * >    m_Paths;
00137         SI_Void                         *m_pUnused;
00138 
00139 };
00140 
00141 
00142 #endif // CSIBCSearchPath