HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FS_WriteFilterFactory.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: FS_WriteFilterFactory.h ( FS Library, C++)
7  *
8  * COMMENTS:
9  *
10  */
11 
12 #ifndef __FS_WriteFilterFactory__
13 #define __FS_WriteFilterFactory__
14 
15 #include "FS_API.h"
16 #include <UT/UT_NonCopyable.h>
17 #include <SYS/SYS_Types.h>
18 
21 
22 // This class provides means to create filters that are applied when the index
23 // file writes itself out to the output stream.
25 {
26 public:
27  // Standard constructor and destructor.
29  virtual ~FS_WriteFilterFactory();
30 
32 
33  /// Get the amount of memory owned by this FS_WriteFilterFactory
34  virtual int64 getMemoryUsage(bool inclusive) const = 0;
35 
36  /// This method instantiates an write filter. The filter is used on each
37  /// section, when the index file writes them out to the output stream.
38  virtual UT_StreamBufferFilter *createBufferFilter() const = 0;
39 
40  /// Instantiates a identical copy of this class object.
41  virtual FS_WriteFilterFactory *cloneFilterFactory() const = 0;
42 
43  /// Returns the size of filtered data based on its original unfiltred size.
44  virtual int getFilteredSize( int size );
45 
46  /// Returns true if this write filter matches the specified read filter.
47  virtual bool matches(const FS_IStreamFilterFactory *f) const = 0;
48 };
49 
50 #endif
51 
GLfloat f
Definition: glcorearb.h:1926
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
long long int64
Definition: SYS_Types.h:116
GLsizeiptr size
Definition: glcorearb.h:664
#define FS_API
Definition: FS_API.h:10