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

JobCPathRegistry.h

Go to the documentation of this file.
00001 
00002 // $Id: JobCPathRegistry.h,v 1.9 2002/06/12 15:26:27 rhatcher Exp $
00003 //
00004 // An object to hold job paths
00005 //
00006 // messier@huhepl.harvard.edu
00008 #ifndef JOBCPATHREGISTRY_H
00009 #define JOBCPATHREGISTRY_H
00010 #ifndef VECTOR
00011 #define VECTOR
00012 #include <vector>
00013 #endif
00014 #ifdef SITE_HAS_SIGC
00015 # ifndef __CINT__
00016 # include "sigc++/signal.h"
00017 # endif
00018 #endif
00019 
00020 class JobCModule;
00021 class JobCPath;
00022 class MomNavigator;
00023 class JobCInputModule;
00024 
00025 class JobCPathRegistry
00026 {
00027 public:
00028   typedef std::vector<JobCPath*>::const_iterator PathIterator;
00029 
00030   JobCPathRegistry();
00031   ~JobCPathRegistry();
00032 
00033   JobCModule* LookUpModule(const char* module) const;
00034   JobCPath*   LookUpPath(const char* path)     const;
00035 
00036   JobCPath*   MakePath(const char*      name, 
00037                        MomNavigator*    mom, 
00038                        JobCInputModule* inp);
00039   void        DeletePath(const char* name);
00040   void        Reset();
00041 
00042   // Not needed for normal use
00043   PathIterator GetPathBegin() const { return fPathList.begin(); }
00044   PathIterator GetPathEnd()   const { return fPathList.end(); }
00045 
00046 #ifdef SITE_HAS_SIGC
00047 # ifndef __CINT__
00048   // Send signal when a new path is created
00049   SigC::Signal1<void,JobCPath*> NewPath;
00050 # endif
00051 private:
00052   // SigC::Signal1 derives from SignalBase which has a private operator=
00053   // CINT attempts to generate explicit assignment unless told not to do so
00054   JobCPathRegistry& operator= (const JobCPathRegistry&); // no assignment
00055 #endif
00056 
00057 private:
00058   std::vector<JobCPath*> fPathList; // List of paths owned by this object
00059 };
00060 
00061 #endif // JOBCPATHREGISTRY_H
00062 

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