HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
FS_IStreamFilterFactory.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_IStreamFilterFactory.h ( FS Library, C++)
7
*
8
* COMMENTS:
9
*
10
*/
11
12
#ifndef __FS_IStreamFilterFactory__
13
#define __FS_IStreamFilterFactory__
14
15
#include "
FS_API.h
"
16
#include <
UT/UT_NonCopyable.h
>
17
#include <
SYS/SYS_Types.h
>
18
19
class
UT_IStream
;
20
21
// This class provides means to create filters for the input streams that
22
// underline the reader stream. It is used by the FS_ReaderStream to instantiate
23
// a filter whenever it needs to create its input stream.
24
class
FS_API
FS_IStreamFilterFactory
25
{
26
public
:
27
// Standard constructor and destructor.
28
FS_IStreamFilterFactory
();
29
virtual
~
FS_IStreamFilterFactory
();
30
31
UT_NON_COPYABLE
(
FS_IStreamFilterFactory
)
32
33
/// Get the amount of memory owned by this FS_IStreamFilterFactory
34
virtual
int64
getMemoryUsage(
bool
inclusive)
const
= 0;
35
36
/// This method instantiates an input stream filter (which is itself an
37
/// input stream). The filter will read raw data from the 'is', then
38
/// process it and present the transformed data to the user of the
39
/// filter, which will see it just as a regular input stream.
40
virtual
UT_IStream
*createIStreamFilter(
41
UT_IStream
* is)
const
= 0;
42
43
/// Instantiates a identical copy of this class object.
44
virtual
FS_IStreamFilterFactory
*cloneFilterFactory()
const
= 0;
45
46
/// Obtains the size of the data encoded in the is, ie. the size of the data
47
/// after the raw input stream bytes have been filtered.
48
virtual
int
getDataSize(
49
UT_IStream
* is,
50
int
stream_size)
const
= 0;
51
};
52
53
#endif
54
UT_IStream
Definition:
UT_IStream.h:56
FS_API.h
SYS_Types.h
UT_NON_COPYABLE
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
Definition:
UT_NonCopyable.h:31
int64
long long int64
Definition:
SYS_Types.h:116
FS_IStreamFilterFactory
Definition:
FS_IStreamFilterFactory.h:24
UT_NonCopyable.h
FS_API
#define FS_API
Definition:
FS_API.h:10
FS
FS_IStreamFilterFactory.h
Generated on Thu Apr 25 2024 03:16:44 for HDK by
1.8.6