Rev | Line | |
---|
[534] | 1 | // toiderivproducer.h
|
---|
| 2 | // Eric Aubourg CEA/DAPNIA/SPP septembre 1999
|
---|
| 3 |
|
---|
| 4 | #ifndef TOIDERIVPRODUCER_H
|
---|
| 5 | #define TOIDERIVPRODUCER_H
|
---|
| 6 |
|
---|
| 7 | #include "toiproducer.h"
|
---|
| 8 | #include "toiabsorber.h"
|
---|
| 9 |
|
---|
| 10 | class TOIDerivProducer : public TOIProducer, public TOIAbsorber {
|
---|
| 11 | public:
|
---|
| 12 |
|
---|
| 13 | virtual bool canProduce(TOI const&);
|
---|
| 14 | virtual void addTOI(TOI&, TOIAbsorber* client); // exception si pas productible
|
---|
| 15 | virtual set<string> getAvailOptions(TOI const&);
|
---|
| 16 | virtual long wontNeedEarlier(TOI const&, TOIAbsorber* client, long);
|
---|
| 17 | virtual void outManifest(RequestHandler*);
|
---|
| 18 |
|
---|
| 19 | protected:
|
---|
| 20 | mutable map<TOI, map<TOI, TOIProducer*> > neededTOIs; // TOI out, TOI in + associated producer, caching.
|
---|
| 21 |
|
---|
| 22 | virtual set<TOI> reqTOIFor(TOI const&);
|
---|
| 23 | virtual void propagateLowBound(TOI const&, long sampleNum);
|
---|
| 24 | };
|
---|
| 25 |
|
---|
| 26 |
|
---|
| 27 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.