1 //  ----------------------------------------------------------------------------
2 //  MODULE    : OLEEnumStatstg.h
3 //  LANGUAGE  : C++
4 //  AUTHOR    : Yue Zhang
5 //  DATE    : Tuesday, Janurary 23, 1996
6 //  DESCRIPTION : This file defines the OLEEnumStatstg object
7 //  SCCSID      : @(#)olestats.h  1.1 11:53:31 18 Dec 1996
8 //  ----------------------------------------------------------------------------
9 //  Copyright (c) 1999 Digital Imaging Group, Inc.
10 //  For conditions of distribution and use, see copyright notice
11 //  in Flashpix.h
12 //  ----------------------------------------------------------------------------
13   #ifndef OLEEnumStatstg_h
14   #define OLEEnumStatstg_h
15 //  ----------------------------------------------------------------------------
16 
17 //  Includes
18 //  --------
19 
20 #ifndef OLECore_h
21   #include "olecore.h"
22 #endif
23   class OLEStorage;
24 
25 //  Constants
26 //  ---------
27 
28 //  Class declarations
29 //  ------------------
30 
31   class OLEEnumStatstg;
32 
33 //  Class definitions
34 //  -----------------
35 
36   class OLEEnumStatstg : public OLECore {
37 
38   public:
39     // This constructor creates a OLE statstg object from an open storage
40             OLEEnumStatstg(OLEStorage * parentStorage, IEnumSTATSTG * currentEnumStatstg);
41             virtual ~OLEEnumStatstg();
42 
43     // This function returns true if next object exists, the information is
44     // returned the STATSTG object
45     virtual Boolean Next( STATSTG *);
46 
47     // This function returns true if the object specified in STATSTG is storage
48     virtual Boolean IsStorage( STATSTG *);
49 
50     // This function returns true if the object specified in STATSTG is property set
51     virtual Boolean IsStream( STATSTG * );
52 
53     // This function skips the number of objects specified from current position
54     virtual Boolean IsPropertySet( STATSTG * );
55 
56     // This function skips the number of objects specified from current position
57     virtual Boolean Skip( unsigned long );
58 
59     // This function sets the current object to the first one in the storage
60     virtual Boolean Reset();
61 
62   private:
63     OLEStorage *  parStorage;   // open storage to which OLEEnumStatstg belongs
64     IEnumSTATSTG *  enumStatstg;  // pointer of IEnumSTATSTG object
65   };
66 
67 
68 //  ----------------------------------------------------------------------------
69   #endif // OLEEnumStatstg_h
70 //  ----------------------------------------------------------------------------
71