Richard Boegli's CnC_Generals_Zero_Hour Fork
WIP
This is documentation of Richard Boegil's Zero Hour Fork
Loading...
Searching...
No Matches
cstraw.h
Go to the documentation of this file.
1
/*
2
** Command & Conquer Generals Zero Hour(tm)
3
** Copyright 2025 Electronic Arts Inc.
4
**
5
** This program is free software: you can redistribute it and/or modify
6
** it under the terms of the GNU General Public License as published by
7
** the Free Software Foundation, either version 3 of the License, or
8
** (at your option) any later version.
9
**
10
** This program is distributed in the hope that it will be useful,
11
** but WITHOUT ANY WARRANTY; without even the implied warranty of
12
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
** GNU General Public License for more details.
14
**
15
** You should have received a copy of the GNU General Public License
16
** along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
/***********************************************************************************************
20
*** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S ***
21
***********************************************************************************************
22
* *
23
* Project Name : Command & Conquer *
24
* *
25
* $Archive:: /G/wwlib/cstraw.h $*
26
* *
27
* $Author:: Eric_c $*
28
* *
29
* $Modtime:: 4/02/99 11:59a $*
30
* *
31
* $Revision:: 2 $*
32
* *
33
*---------------------------------------------------------------------------------------------*
34
* Functions: *
35
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
36
#if _MSC_VER >= 1000
37
#pragma once
38
#endif
// _MSC_VER >= 1000
39
40
#ifndef CSTRAW_H
41
#define CSTRAW_H
42
43
#include "
buff.h
"
44
#include "
straw.h
"
45
46
/*
47
** This class handles transfer of data by perform regulated requests for data from the next
48
** class in the chain. It performs no translation on the data. By using this segment in a
49
** straw chain, data throughput can be regulated. This can yield great performance increases
50
** when dealing with a file source.
51
*/
52
class
CacheStraw
:
public
Straw
53
{
54
public
:
55
CacheStraw
(
Buffer
const
& buffer) : BufferPtr(buffer), Index(0), Length(0) {}
56
CacheStraw
(
int
length=4096) : BufferPtr(length), Index(0), Length(0) {}
57
virtual
int
Get
(
void
* source,
int
slen);
58
59
private
:
60
Buffer
BufferPtr;
61
int
Index;
62
int
Length;
63
64
bool
Is_Valid(
void
) {
return
(BufferPtr.
Is_Valid
());}
65
CacheStraw
(
CacheStraw
& rvalue);
66
CacheStraw
& operator = (
CacheStraw
const
& pipe);
67
};
68
69
70
71
#endif
72
BUFF.H
STRAW.H
Buffer
Definition
BUFF.H:57
Buffer::Is_Valid
bool Is_Valid(void) const
Definition
BUFF.H:73
CacheStraw::CacheStraw
CacheStraw(Buffer const &buffer)
Definition
cstraw.h:55
CacheStraw::Get
virtual int Get(void *source, int slen)
Definition
cstraw.cpp:64
CacheStraw::CacheStraw
CacheStraw(int length=4096)
Definition
cstraw.h:56
Straw::Straw
Straw(void)
Definition
STRAW.H:53
Code
Libraries
Source
WWVegas
WWLib
cstraw.h
Generated by
1.13.2