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

Jint.h

Go to the documentation of this file.
00001 
00017 #ifndef JINT_H
00018 #define JINT_H
00019 
00020 #include <Registry/Registry.h>
00021 #include <JobControl/JobCPath.h>
00022 
00023 #include <Midad/Util/Signals.h>
00024 
00025 class JobC;
00026 class MomNavigator;
00027 
00028 class Jint : public SigC::Object
00029 {
00030 
00031 public:
00032 
00033     Jint(JobC& jc);
00034     virtual ~Jint();
00035 
00036     const MomNavigator* GetMom() const;
00037     JobC& GetJobC() const { return fJC; };
00038 
00039     // Navigate the input record stream
00040     void Next(int n=1, const char* path_name = 0);
00041     void NextPass(int n=1, const char* path_name = 0);
00042     void Prev(int n=1, const char* path_name = 0);
00043     void Rerun(const char* path_name = 0);
00044     void GoTo(int run, int snarl);
00045     void Run(int n=1, JobCPath::RunMode_t mode=JobCPath::kRunNin,
00046              const char* path_name=0);
00047 
00048     // used by Views
00049     const Registry& GetState() { return fJobState; }
00050 
00051     SigC::Signal0<void> mom_modified;
00052     SigC::Signal0<void> job_modified;
00053 
00054 
00055 private:
00056 
00057     // copy constructor, assignment:
00058     Jint(const Jint& rhs); // copy constructor
00059     Jint& operator=(const Jint& rhs); // assignment
00060 
00061     // JobCPath sig handlers 
00062     void AddPath(JobCPath* jcp);
00063     void RemovePath(JobCPath* jcp);
00064     void UpdatePath(JobCPath* jcp, JobCPath::Update_t utype);
00065     void StartPathRun(JobCPath* jcp);
00066     void EndPathRun(JobCPath* jcp);
00067 
00068 
00069     JobC& fJC;
00070     Registry fJobState;
00071     const char* fFirstPath;
00072 };                              // end of class Jint
00073 
00074 #endif  // JINT_H

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