Isis 3.0 Object Programmers' Reference
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
CubeDataThreadTester.h
1
#ifndef CubeDataThreadTester_h
2
#define CubeDataThreadTester_h
3
4
#include <QThread>
5
6
template
<
typename
T>
class
QList
;
7
template
<
typename
A,
typename
B>
class
QPair;
8
9
namespace
Isis {
10
class
Brick;
11
class
CubeDataThread;
12
18
class
CubeDataThreadTester
:
public
QThread
{
19
Q_OBJECT
20
21
public
:
22
CubeDataThreadTester
(
CubeDataThread
*);
23
virtual
~CubeDataThreadTester
();
24
26
int
NumberOfTestsDone
() {
27
return
p_numTestsDone
;
28
}
29
31
CubeDataThread
*
DataThread
() {
32
return
p_cubeDataThread
;
33
}
34
35
void
Connect
();
36
void
ReadCubeTest
(
int
);
37
void
ReadCubeTest2
(
int
,
int
);
38
void
ReadCubeTest3
(
int
);
39
void
WriteCubeTest
(
int
);
40
void
WriteCubeTest2
(
int
,
int
);
41
void
WriteCubeTest3
(
int
);
42
void
WriteCubeTest3BreakDeadlock
();
43
void
NotifyChangeTest
(
int
);
44
45
public
slots:
46
void
ReadBrick
(
void
*requester,
int
cubeId,
const
Isis::Brick
*data);
47
void
ReadWriteBrick
(
void
*requester,
int
cubeId,
Isis::Brick
*data);
48
void
BrickChanged
(
int
cubeId,
const
Isis::Brick
*data);
49
50
signals:
62
void
RequestReadCube
(
int
cubeId,
int
startSample,
int
startLine,
63
int
endSample,
int
endLine,
int
band,
void
*caller);
64
65
77
void
RequestReadWriteCube
(
int
cubeId,
int
startSample,
int
startLine,
78
int
endSample,
int
endLine,
int
band,
void
*caller);
79
80
85
void
NotifyDoneWithData
(
int
,
const
Isis::Brick
*);
86
87
private
:
89
void
run
();
90
92
int
p_numTestsDone
;
93
95
CubeDataThread
*
p_cubeDataThread
;
96
98
bool
p_execStarted
;
99
101
bool
p_notifyDone
;
102
104
QVector< QPair<int, const Isis::Brick *> > *
p_cachedDoneBricks
;
105
};
106
107
};
108
109
110
#endif