InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IDirectoryUtility.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Robin_Briggs
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __IDIRECTORYUTILITY__
25 #define __IDIRECTORYUTILITY__
26 #include <boost/function.hpp>
37 {
38 public:
43  typedef ::boost::function1<bool16, IDirectoryUtility*> FileMatch;
44 
45  static bool16 DefaultFileMatchFun( IDirectoryUtility* ) {return kTrue;}
52  fMatchFunction( matchFunc ) {}
53 
58  virtual ~IDirectoryUtility() { }
59 
64  virtual void AddPath(const IDFile& fileSpec) = 0;
65 
70  bool16 IsMatch()
71  { return (fMatchFunction)( this ); }
72 
79  virtual bool16 First(IDFile *resultFile) = 0;
80 
87  virtual bool16 Next(IDFile *resultFile) = 0;
88 
95  virtual bool16 CurrentMatchFile(IDFile *resultFile) const = 0;
96 
101  {
102  public:
103  virtual bool16 OnSysFile( const IDFile &nextFile, int32 nthFile ) = 0 ;
104  };
105 
111  virtual void ForEachFileInFolder( OnSysFileFunction& onSysFile ) = 0 ;
112 
113  protected:
118 };
119 
120 
121 #endif // __IDIRECTORYUTILITY__