Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

IoDummyStreamItr.h

Go to the documentation of this file.
00001 
00002 //
00003 // IoDummyStreamItr
00004 //
00005 // Iterator for a dummy data stream to allow job control cycling with
00006 // no input file.
00007 //
00008 // Author: S. Kasahara 11/05
00009 //
00011 #ifndef IODUMMYSTREAMITR_H
00012 #define IODUMMYSTREAMITR_H
00013 #ifndef IODATASTREAMITR_H
00014 #include "IoModules/IoDataStreamItr.h"
00015 #endif
00016 
00017 class MomNavigator;
00018 
00019 class IoDummyStreamItr : public IoDataStreamItr {
00020 
00021 public:
00022   IoDummyStreamItr();
00023   ~IoDummyStreamItr();
00024 
00025   // Must provide these, no default implementation given
00026   bool IsValid() const { return fIsValid; }
00027   const char* GetFormat() const { return "dummy"; }
00028   int LoadRecords(MomNavigator* m);
00029   int Increment(int n=1, MomNavigator* m=0);
00030   int Decrement(int n=1, MomNavigator* m=0);
00031   JobCResult GoTo(const VldContext& vld, MomNavigator* m=0);
00032 
00033   // Override default to print error messages when user tries to
00034   // invoke methods that aren't supported in dummy mode 
00035   virtual int  GoToEOF();
00036   virtual int  DefineStream(const char* streamname, const char* treename);
00037   virtual int  Streams(const char* streamlist);
00038   virtual int  Select(const char* stream, const char* selection, bool isRequired = false);
00039   virtual int  SetSequenceMode(const char* stream, Per::ESequenceMode seqmode);
00040   virtual int  SetWindow(const char* stream, double lower, double upper);
00041   virtual void AddFile(const char* fullfilepathname, int at = -1,
00042                        const char* streamlist = "*");
00043   virtual const char* GetCurrentFile(const char* streamname = "*") const;
00044   virtual JobCResult GoToFile(int i, const char* streamlist = "*");
00045   virtual JobCResult GoToFile(const char* fullfilepathname, 
00046                               const char* streamlist = "*");
00047   virtual JobCResult NextFile(int n = 1, const char* streamlist = "*");
00048   virtual JobCResult PrevFile(int n = 1, const char* streamlist = "*");
00049   virtual void RemoveFile(const char* fullfilepathname="*",
00050                           const char* streamlist="*");
00051   virtual std::ostream& ListFile(std::ostream& os, 
00052                                  const char* streamlist = "*") const;
00053   
00054 private:
00055 
00056   bool fIsValid;  // valid input stream iterator
00057 
00058 };
00059 
00060 #endif
00061 

Generated on Mon Feb 15 11:06:48 2010 for loon by  doxygen 1.3.9.1