00001
00002 #ifndef PROJECTIO_H
00003 #define PROJECTIO_H
00004
00005 #include "openschedException.h"
00006 #include "project.h"
00007 #include "reporter.h"
00008
00009 class ProjectFile
00010 {
00011 public :
00012 ProjectFile();
00013 Project & project() { return mProject; };
00014 Reporter & reporter() { return mReporter; };
00015 void Load(const char *name);
00016 void checkComplete();
00017
00018 private :
00019 Project mProject;
00020 Reporter mReporter;
00021
00022 void Error(char *fmt, ...);
00023 void Warning(char *fmt, ...);
00024 void Debug(char *fmt, ...);
00025
00026 int ParseLine(char *linebuf, char ***pwords);
00027 void Vacation(char *resid, char *d1name, char *d2name);
00028 void AddCandidates(char *taskid, char **resources, int Nresources);
00029 void WorkBlock(const char *taskid, const char *resid,
00030 char *day1, char *day2, TimeBlock::Type type);
00031 void AddTaskGraph( char *d1name, char *d2name, char *fname );
00032 };
00033
00034
00035 class ProjectFileException
00036 : public OpenschedException
00037 {
00038 public:
00039 ProjectFileException( string reason );
00040 virtual ~ProjectFileException();
00041 };
00042
00043 #endif