00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00030 #ifndef MRPRJCONTENT_H
00031 #define MRPRJCONTENT_H
00032
00033 #ifdef HAVE_CONFIG_H
00034 #include <config.h>
00035 #endif
00036
00037 #include <string>
00038 #include <map>
00039 #include <list>
00040 #include <muo.h>
00041 #include <libxml/parser.h>
00042 #include <libxml/tree.h>
00043
00044
00045
00046
00047
00048 namespace mrprj
00049 {
00050
00056 class DateStringConverter
00057 {
00058 private:
00059 public:
00060
00061 DateStringConverter();
00062 ~DateStringConverter();
00063
00067 string formYankDateString(const string& pMrprojectDateString)const;
00068
00072 string formGermanDateString(const string& pMrprojectDateString)const;
00073
00074 };
00075
00083 class XmlNodeReader
00084 {
00085 private:
00091 krmuo::XmlConverter xmlConverter;
00092
00093 public:
00094 XmlNodeReader();
00095
00096 ~XmlNodeReader();
00097
00098
00102 bool getStringProperty
00103 (
00104 const xmlDocPtr xmlDoc,
00105 const xmlNodePtr pPropertyNode,
00106 const string& pPropertySigner,
00107 string& pPropertyValue
00108 );
00109
00110
00124 inline bool getIntProperty
00125 (
00126 const xmlDocPtr xmlDoc,
00127 const xmlNodePtr pPropertyNode,
00128 const string& pPropertySigner,
00129 int& pPropertyValue
00130 )
00131 {
00132 string localStringValue;
00133 if (!(getStringProperty(xmlDoc,pPropertyNode,pPropertySigner,localStringValue)))
00134 return false;
00135 pPropertyValue=atoi(localStringValue.c_str());
00136 return true;
00137 }
00138
00152 inline bool getLongProperty
00153 (
00154 const xmlDocPtr xmlDoc,
00155 const xmlNodePtr pPropertyNode,
00156 const string& pPropertySigner,
00157 long& pPropertyValue
00158 )
00159 {
00160 string localStringValue;
00161 if (!(getStringProperty(xmlDoc,pPropertyNode,pPropertySigner,localStringValue)))
00162 return false;
00163 pPropertyValue=atol(localStringValue.c_str());
00164 return true;
00165 }
00166
00167
00181 inline bool getFloatProperty
00182 (
00183 const xmlDocPtr xmlDoc,
00184 const xmlNodePtr pPropertyNode,
00185 const string& pPropertySigner,
00186 float& pPropertyValue
00187 )
00188 {
00189 string localStringValue;
00190 if (!(getStringProperty(xmlDoc,pPropertyNode,pPropertySigner,localStringValue)))
00191 return false;
00192 pPropertyValue=atof(localStringValue.c_str());
00193 return true;
00194 }
00195
00196 };
00197
00205 class Property
00206 {
00207
00208 public:
00209
00210 private:
00211 krmuo::LoggingUnit& mLoggingUnit;
00212 string mName;
00213 string mType;
00214 string mOwner;
00215 string mLabel;
00216 string mDescription;
00217
00218 protected:
00219
00220
00221
00222 public:
00223
00224
00225
00229 Property
00230 (
00231 krmuo::LoggingUnit& pLoggingUnit,
00232 const string& pName,
00233 const string& pType,
00234 const string& pOwner,
00235 const string& pLabel,
00236 const string& pDescription
00237 );
00238
00239 ~Property();
00240
00241
00242
00243
00247 inline const string& getName() const { return mName; }
00248
00252 inline const string& getType() const { return mType; }
00253
00257 inline const string& getOwner() const { return mOwner; }
00258
00262 inline const string& getLabel() const { return mLabel; }
00263
00267 inline const string& getDescription() const { return mDescription; }
00268
00269
00270
00271
00272
00273 private:
00274
00275 Property(const Property& co);
00276
00277
00278
00279 protected:
00280
00281
00282
00283 };
00284
00292 class Phase
00293 {
00294
00295 public:
00296
00297 private:
00298 krmuo::LoggingUnit& mLoggingUnit;
00299 string mName;
00300
00301 protected:
00302
00303
00304
00305 public:
00306
00307
00308
00312 Phase
00313 (
00314 krmuo::LoggingUnit& pLoggingUnit,
00315 const string& pName
00316 );
00317
00318 ~Phase();
00319
00320
00321
00322
00326 inline const string& getName() const { return mName; }
00327
00328
00329
00330
00331
00332 private:
00333
00334 Phase(const Phase& co);
00335
00336
00337
00338 protected:
00339
00340
00341
00342 };
00343
00351 class DayType
00352 {
00353
00354 public:
00355
00356 private:
00357 krmuo::LoggingUnit& mLoggingUnit;
00358 string mId;
00359 string mName;
00360 string mDescription;
00361
00362 protected:
00363
00364
00365
00366 public:
00367
00368
00369
00373 DayType
00374 (
00375 krmuo::LoggingUnit& pLoggingUnit,
00376 const string& pId,
00377 const string& pName,
00378 const string& pDescription
00379 );
00380
00381 ~DayType();
00382
00383
00384
00385
00389 inline const string& getId() const { return mId; }
00390
00394 inline const string& getName() const { return mName; }
00395
00396
00400 inline const string& getDescription() const { return mDescription; }
00401
00402
00403
00404
00405
00406 private:
00407
00408 DayType(const DayType& co);
00409
00410
00411
00412 protected:
00413
00414
00415
00416 };
00417
00425 class Interval
00426 {
00427
00428 public:
00429
00430 private:
00431 krmuo::LoggingUnit& mLoggingUnit;
00432 string mStart;
00433 string mEnd;
00434
00435 protected:
00436
00437
00438
00439 public:
00440
00441
00442
00446 Interval
00447 (
00448 krmuo::LoggingUnit& pLoggingUnit,
00449 const string& pStart,
00450 const string& pEnd
00451 );
00452
00453 ~Interval();
00454
00455 Interval(const Interval& co);
00456
00457
00458
00462 inline const string& getStart() const { return mStart; }
00463
00467 inline const string& getEnd() const { return mEnd; }
00468
00469
00470
00471
00472
00473 private:
00474
00475
00476
00477
00478 protected:
00479
00480
00481
00482 };
00483
00484
00492 class OverriddenDayType
00493 {
00494
00495 public:
00496 list<Interval> mIntervalList;
00497
00498 private:
00499 krmuo::LoggingUnit& mLoggingUnit;
00500 string mId;
00501 protected:
00502
00503
00504
00505 public:
00506
00507
00508
00512 OverriddenDayType
00513 (
00514 krmuo::LoggingUnit& pLoggingUnit,
00515 const string& pId
00516 );
00517
00518 ~OverriddenDayType();
00519
00520
00521 OverriddenDayType(const OverriddenDayType& co);
00522
00523
00524
00528 inline const string& getId() const { return mId; }
00529
00530
00531
00532
00533
00534 private:
00535
00536
00537
00538
00539 protected:
00540
00541
00542
00543 };
00544
00552 class Day
00553 {
00554
00555 public:
00556
00557 private:
00558 krmuo::LoggingUnit& mLoggingUnit;
00559 string mDate;
00560 string mType;
00561 string mId;
00562
00563 protected:
00564
00565
00566
00567 public:
00568
00569
00570
00574 Day
00575 (
00576 krmuo::LoggingUnit& pLoggingUnit,
00577 const string& pDate,
00578 const string& pType,
00579 const string& pId
00580 );
00581
00582 ~Day();
00583
00584
00585
00586
00590 inline const string& getDate() const { return mDate; }
00591
00595 inline const string& getType() const { return mType; }
00596
00600 inline const string& getId() const { return mId; }
00601
00602
00603
00604
00605
00606 Day(const Day& co);
00607 private:
00608
00609
00610
00611
00612 protected:
00613
00614
00615
00616 };
00617
00625 class Calendar
00626 {
00627
00628 public:
00629 string mMon;
00630 string mTue;
00631 string mWed;
00632 string mThu;
00633 string mFri;
00634 string mSat;
00635 string mSun;
00636
00640 list<OverriddenDayType> mOverriddenDayTypeList;
00644 list<Day> mDayList;
00645 private:
00646 krmuo::LoggingUnit& mLoggingUnit;
00647 string mId;
00648 string mName;
00649
00650 protected:
00651
00652
00653
00654 public:
00655
00656
00657
00661 Calendar
00662 (
00663 krmuo::LoggingUnit& pLoggingUnit,
00664 const string& pId,
00665 const string& pName
00666 );
00667
00668 ~Calendar();
00669
00670
00671
00672
00676 inline const string& getId() const { return mId; }
00677
00681 inline const string& getName() const { return mName; }
00682
00683
00684
00685
00686
00687 private:
00688
00689 Calendar(const Calendar& co);
00690
00691
00692
00693 protected:
00694
00695
00696
00697 };
00698
00708 class ResourceGroup
00709 {
00710
00711 public:
00712
00713 private:
00714 string mGroupId;
00715 string mGroupTitle;
00716 string mGroupDescription;
00717 string mGroupAdminName;
00718 string mGroupAdminPhone;
00719 string mGroupAdminEmail;
00720 krmuo::LoggingUnit& mLoggingUnit;
00721
00722 protected:
00723
00724
00725
00726 public:
00727
00728
00729
00733 ResourceGroup
00734 (
00735 krmuo::LoggingUnit& pLoggingUnit,
00736 const string& pGroupId,
00737 const string& pGroupTitle="???",
00738 const string& pGroupDescription="???",
00739 const string& pGroupAdminName="???",
00740 const string& pGroupAdminPhone="???",
00741 const string& pGroupAdminEmail="???"
00742 );
00743
00744 ~ResourceGroup();
00745
00746
00747
00751 inline const string& getGroupId() const { return mGroupId; }
00752
00756 inline const string& getGroupTitle() const { return mGroupTitle; }
00757
00761 inline const string& getGroupAdminName() const { return mGroupAdminName; }
00762
00766 inline const string& getGroupAdminPhone() const { return mGroupAdminPhone; }
00767
00771 inline const string& getGroupAdminEmail() const { return mGroupAdminEmail; }
00772
00773
00774
00775
00776 private:
00777
00778 ResourceGroup(const ResourceGroup& co);
00779
00780
00781
00782 protected:
00783
00784
00785
00786 };
00787
00797 class Resource
00798 {
00799
00800 public:
00801
00802 private:
00803 string mResourceId;
00804 string mResourceGroupId;
00805 string mResourceTitle;
00806 string mResourceDescription;
00807 int mResourceType;
00808 long mResourceUnits;
00809 string mRecourceEmail;
00810 float mRecourceStdRate;
00811 float mRecourceOvtRate;
00812 krmuo::LoggingUnit& mLoggingUnit;
00813
00814 protected:
00815
00816
00817
00818 public:
00819
00820
00821
00825 Resource
00826 (
00827 krmuo::LoggingUnit& mLoggingUnit,
00828 const string& pResourceId,
00829 const string& pResourceGroupId,
00830 const string& pResourceTitle="???",
00831 const string& pResourceDescription="???",
00832 const int pResourceType=1,
00833 const long pResourceUnits=100,
00834 const string& pRecourceEmail="???",
00835 float pRecourceStdRate=0.0,
00836 float pRecourceOvtRate=200.0
00837 );
00838
00839 ~Resource();
00840
00841
00842
00846 inline const string& getResourceId() const { return mResourceId; }
00847
00851 inline const string& getResourceGroupId() const { return mResourceGroupId; }
00852
00856 inline const string& getResourceTitle() const { return mResourceTitle; }
00857
00861 inline const int getResourceType() const { return mResourceType; }
00862
00866 inline const long getResourceUnits() const { return mResourceUnits; }
00867
00871 inline const string& getRecourceEmail() const { return mRecourceEmail; }
00872
00876 inline const float getRecourceStdRate() const { return mRecourceStdRate; }
00877
00881 inline const float getRecourceOvtRate() const { return mRecourceOvtRate; }
00882
00883
00884
00885
00886 private:
00887
00888 Resource(const Resource& co);
00889
00890
00891
00892 protected:
00893
00894
00895
00896 };
00897
00906 class Allocation
00907 {
00908
00909 public:
00910
00911 private:
00912 string mTaskId;
00913 string mResourceId;
00914 krmuo::LoggingUnit& mLoggingUnit;
00915 protected:
00916
00917
00918
00919 public:
00920
00921
00922
00926 Allocation
00927 (
00928 krmuo::LoggingUnit& pLoggingUnit,
00929 const string& pTaskId,
00930 const string& pResourceId
00931 );
00932
00933 ~Allocation();
00934
00935
00936
00937
00941 inline const string& getTaskId() const { return mTaskId; }
00942
00946 inline const string& getResourceId() const { return mResourceId; }
00947
00948
00949
00950 private:
00951
00952 Allocation(const Allocation& co);
00953
00954
00955
00956 protected:
00957
00958
00959
00960 };
00961
00962
00963
00964
00973 class Predecessor
00974 {
00975 public:
00976
00977 private:
00978 const string mEntryId;
00979 const string mPredecessorTaskId;
00980 const string mType;
00981 protected:
00982
00983 public:
00984
00988 Predecessor
00989 (
00990 const string& pEntryId,
00991 const string& pPredecessorTaskId,
00992 const string& pType
00993 );
00994
00998 ~Predecessor();
00999
01000
01001
01005 inline const string& getEntryId() const { return mEntryId; }
01009 inline const string& getPredecessorTaskId() const { return mPredecessorTaskId; }
01013 inline const string& getType() const { return mType ; }
01014 };
01015
01036 class Task
01037 {
01038
01039 public:
01040
01041 private:
01042 string mTaskId;
01043 string mTaskTitle;
01044 string mTaskDescription;
01045 string mTaskStartDate;
01046 string mTaskEndDate;
01047 int mFullFilledPercent;
01048 bool mIsEmptyTopTask;
01049
01050 map<string, Task*> mSubTaskMap;
01051 list<string> mSubTaskOrderList;
01052 map<string,Predecessor*> mPredecessorMap;
01053 krmuo::LoggingUnit& mLoggingUnit;
01054
01055 bool mIsActive;
01056 bool mIsAllocated;
01057 bool mAnyDaughterIsActive;
01058 int mXrowspan;
01059 int mXrowTacker;
01060 int mNodeEmbeddedLevel;
01061 bool mXdoPrint;
01062 protected:
01063
01064
01065
01066 public:
01067
01068
01069
01070 Task
01071 (
01072 krmuo::LoggingUnit& pLoggingUnit,
01073 const string& spTaskId,
01074 const string& pTaskTitle="???",
01075 const string& pTaskDescription="???",
01076 const string& pTaskStartDate="19700101T000000",
01077 const string& pTaskEndDate="21001231T240000",
01078 const int pFullFilledPercent=0,
01079 const bool pIsEmptyTopTask=false
01080 );
01081
01082 ~Task();
01083
01084
01088 inline const string& getTaskId() const { return mTaskId; }
01089
01093 inline const string& getTaskTitle() const { return mTaskTitle; }
01094
01098 inline const string& getTaskDescription() const { return mTaskDescription; }
01099
01100
01104 const string getTaskDescriptionAsOneLine() const;
01105
01109 const string getPredecessorString()const;
01110
01114 const string getTaskDescriptionAsFormattedString
01115 ( const string& pIndent,
01116 const int pLineLength) const;
01117
01121 const string getClearTaskDescriptionAsOneLine
01122 () const;
01123
01127 inline const string& getStartDate() const { return mTaskStartDate; }
01128
01132 inline const string& getEndDate() const { return mTaskEndDate; }
01133
01137 inline const int getFullFilledPercent() const { return mFullFilledPercent; }
01138
01139
01143 inline const bool isEmptyTopTask()const { return mIsEmptyTopTask; }
01144
01148 inline const bool isActive() const { return mIsActive; }
01149
01153 inline const bool isAllocated() const { return mIsAllocated; }
01154
01158 inline const bool isAnyDaughterIsActive() const { return mAnyDaughterIsActive; }
01159
01160
01164 inline const long numberOfDaughters() const { return mSubTaskMap.size(); }
01165
01166
01170 inline const bool isLeafNode() const
01171 {
01172 if (numberOfDaughters()==0)
01173 return true;
01174 else
01175 return false;
01176 }
01177
01181 inline const bool isOpenTask() const
01182 {
01183 if (mFullFilledPercent==100)
01184 return false;
01185 else
01186 return true;
01187 }
01188
01192 inline const string getDoneDescription() const
01193 {
01194 if (mFullFilledPercent==100)
01195 return "done";
01196 else
01197 return "open";
01198 }
01199
01200
01201
01205 inline void setPassive() { mIsActive=false; }
01206
01210 inline void setActive() { mIsActive=true; }
01214 inline void setAllocated() { mIsAllocated=true; }
01215
01219 inline void setAnyDaughterIsActive() { mAnyDaughterIsActive=true; }
01220
01224 void setPassiveIfAllDaughtersPassive();
01225
01231 inline void setStartDate(const string& pStartDate) { mTaskStartDate=pStartDate; }
01232
01233
01239 inline void setEndDate(const string& pEndDate) { mTaskEndDate=pEndDate; }
01240
01241
01242
01246 bool fillTaskSubStructureByMrPrjXmlTaskNodes
01247 (
01248 xmlDocPtr xmlDoc,
01249 const xmlNodePtr pFirstTaskSubnode,
01250 map<string,Task*>& mGlobalTaskMap
01251 );
01252
01256 bool limitToTimeSlot
01257 (
01258 const string& pTimeSlotStart,
01259 const string& pTimeSlotEnd
01260 );
01261
01266 bool limitToOpenTasks();
01267
01272 int insertXYposition
01273 (
01274 const int pEmbeddedLevel,
01275 int& pMaxEmbeddedLevel
01276 );
01277
01278
01282 bool printTaskAsMrPrjXmlFileMember(int pBlankIndents)const;
01283
01287 bool printTaskAsLeafMemoListMember
01288 ( const string& pTaskPrefix,
01289 const string& pLevelOrderString,
01290 const map<string,Resource*>& pResourceMap,
01291 const list<Allocation*>& pAllocationList,
01292 const bool iso8601
01293 )const;
01294
01298 bool printTaskAsTreeMemoMember
01299 ( const string& pLevelOrderString,
01300 int pTreeDepth,
01301 const map<string,Resource*>& pResourceMap,
01302 const list<Allocation*>& pAllocationList,
01303 const bool iso8601
01304 )const;
01305
01309 bool printTaskAsLeafVTodoMember
01310 ( const map<string,Resource*>& pResourceMap,
01311 const list<Allocation*>& pAllocationList,
01312 const string& pConnectedProjectName
01313 ) const;
01314
01318 bool printTaskAsTreeVTodoMember
01319 ( const map<string,Resource*>& pResourceMap,
01320 const list<Allocation*>& pAllocationList,
01321 const string& pConnectedProjectName
01322 )const;
01323
01324
01328 bool printTaskAsPilotLeafTodoMember
01329 ( const string& pLevelOrderString,
01330 const map<string,Resource*>& pResourceMap,
01331 const list<Allocation*>& pAllocationList
01332 )const;
01333
01337 bool printTaskAsPilotTreeTodoMember
01338 ( const string& pLevelOrderString,
01339 const map<string,Resource*>& pResourceMap,
01340 const list<Allocation*>& pAllocationList
01341 )const;
01342
01346 bool printTaskAsLeafYankTodoMember
01347 ( const map<string,Resource*>& pResourceMap,
01348 const list<Allocation*>& pAllocationList
01349 )const;
01350
01354 bool printTaskAsTreeYankTodoMember
01355 ( const map<string,Resource*>& pResourceMap,
01356 const list<Allocation*>& pAllocationList,
01357 const int pBlankIndents
01358 )const;
01359
01363 bool printTaskAsLeafCslTodoMember
01364 ( const string& pLevelOrderString,
01365 const map<string,Resource*>& pResourceMap,
01366 const list<Allocation*>& pAllocationList
01367 )const;
01368
01369
01373 bool printTaskAsTreeCslTodoMember
01374 ( const string& pLevelOrderString,
01375 const map<string,Resource*>& pResourceMap,
01376 const list<Allocation*>& pAllocationList
01377 )const;
01378
01379
01383 bool printTaskAsHtmlSurveyMember
01384 ( const map<string,Resource*>& pResourceMap,
01385 const list<Allocation*>& pAllocationList,
01386 const int maxPathLength,
01387 const string& pSurveyReferenceDayString
01388 );
01389
01390 private:
01391
01392 Task(const Task& co);
01393
01394
01395
01399 Task* insertSubTask
01400 (
01401 const string& pSubTaskId,
01402 const string& pSubTaskTitle="???",
01403 const string& pSubTaskDescription="???",
01404 const string& pSubTaskStartDate="19700101T000000",
01405 const string& pSubTaskEndDate="21001231T240000",
01406 const int pFullFilledPercent=0
01407 );
01408
01412 bool fillTaskPredecessorByMrPrjXmlPredecessorNodes
01413 (
01414 xmlDocPtr xmlDoc,
01415 const xmlNodePtr pFirstPredecessors
01416 );
01417
01421 bool getResourceInfos
01422 (
01423 const map<string,Resource*>& pResourceMap,
01424 const list<Allocation*>& pAllocationList,
01425 string& pResourceId,
01426 string& pResourceTitle
01427 ) const;
01428
01429 protected:
01430
01431
01432
01433 };
01434
01435
01436
01444 class TaskField
01445 {
01446
01447 public:
01448
01449 private:
01450
01451
01452 Task mMainTask;
01453 map<string,Task*> mGlobalTaskMap;
01454
01455 map<string,ResourceGroup*> mResourceGroupMap;
01456 string mDefaultResourceGroup;
01457
01458 map<string,Resource*> mResourceMap;
01459
01460 list<Allocation*> mAllocationList;
01461 list<Property*> mPropertyList;
01462 list<Phase*> mPhaseList;
01463 list<DayType*> mDayTypeList;
01464 list<Calendar*> mCalendarList;
01465
01466 krmuo::LoggingUnit& mLoggingUnit;
01467
01468 string mProjectName;
01469 string mProjectCompany;
01470 string mProjectManager;
01471 string mProjectPhase;
01472 string mProjectStart;
01473 string mProjectMrpVersion;
01474 string mProjectCalendar;
01475
01476 string mRealTimeslotStart;
01477 string mRealTimeslotEnd;
01478 protected:
01479
01480
01481
01482 public:
01483
01484
01485
01489 TaskField(krmuo::LoggingUnit& pLoggingUnit);
01490
01491 ~TaskField();
01492
01493
01494
01495
01496
01500 bool fillTaskFieldByMrPrjXmlFileContent
01501 (
01502 krmuo::LoggingUnit& pLoggingUnit,
01503 const string& mrprjBaseFileContent
01504 );
01505
01513 inline void limitToTimeSlot(const string& pTimeSlotStart,const string& pTimeSlotEnd)
01514 {
01515 mMainTask.limitToTimeSlot(pTimeSlotStart,pTimeSlotEnd);
01516 }
01517
01521 inline void limitToOpenTasks()
01522 {
01523 mMainTask.limitToOpenTasks();
01524 }
01525
01526
01530 bool limitToResource(const string& pResourceTitel);
01531
01535 bool limitToResourceGroup(const string& pResourceGroupTitel);
01536
01540 inline void limitToThoseWithActiveDaughters()
01541 {
01542 mMainTask.setPassiveIfAllDaughtersPassive();
01543 }
01544
01549 bool printTaskFieldAsMrPrjXmlFile()const;
01550
01551
01556 bool printTaskFieldAsLeafListMemo(bool pIso8601);
01557
01562 bool printTaskFieldAsTreeMemo(bool pIso8601);
01563
01567 inline void printTaskFieldAsPilotTreeTodo()
01568 {
01569 mMainTask.printTaskAsPilotTreeTodoMember("",mResourceMap,mAllocationList);
01570
01571 }
01572
01576 inline void printTaskFieldAsPilotLeafTodo()
01577 {
01578 mMainTask.printTaskAsPilotLeafTodoMember("",mResourceMap,mAllocationList);
01579
01580 }
01581
01585 inline void printTaskFieldAsLeafVTodo()
01586 {
01587 mMainTask.printTaskAsLeafVTodoMember
01588 (mResourceMap,mAllocationList,getConnectProjectName());
01589
01590 }
01594 inline void printTaskFieldAsTreeVTodo()
01595 {
01596 mMainTask.printTaskAsTreeVTodoMember
01597 (mResourceMap,mAllocationList,getConnectProjectName());
01598
01599 }
01603 void printTaskFieldAsLeafYankTodo();
01604
01608 void printTaskFieldAsTreeYankTodo();
01609
01610
01614 void printTaskFieldAsLeafCslTodo();
01615
01619 void printTaskFieldAsTreeCslTodo();
01620
01624 void printTaskHtmlSurvey(const string& pSurveyReferenceDayString);
01625
01626 private:
01627
01628 TaskField(const TaskField& co);
01629
01630 string getConnectProjectName()const;
01631
01632
01633
01637 bool fillResourceGroupMapByMrPrjXmlEntries
01638 (
01639 krmuo::LoggingUnit& pLoggingUnit,
01640 xmlDocPtr xmlDoc,
01641 const xmlNodePtr pFirstResourceGroup
01642 );
01643
01647 bool fillResourceMapByMrPrjXmlEntries
01648 (
01649 krmuo::LoggingUnit& pLoggingUnit,
01650 xmlDocPtr xmlDoc,
01651 const xmlNodePtr pFirstResource
01652 );
01653
01657 bool fillAllocationListByMrPrjXmlEntries
01658 (
01659 krmuo::LoggingUnit& pLoggingUnit,
01660 xmlDocPtr xmlDoc,
01661 const xmlNodePtr pFirstAllocation
01662 );
01663
01667 bool fillPropertyListByMrPrjXmlEntries
01668 (
01669 krmuo::LoggingUnit& pLoggingUnit,
01670 xmlDocPtr xmlDoc,
01671 const xmlNodePtr pFirstProperty
01672 );
01673
01677 bool fillPhaseListByMrPrjXmlEntries
01678 (
01679 krmuo::LoggingUnit& pLoggingUnit,
01680 xmlDocPtr xmlDoc,
01681 const xmlNodePtr pFirstProperty
01682 );
01683
01684
01688 bool fillDayTypeListByMrPrjXmlEntries
01689 (
01690 krmuo::LoggingUnit& pLoggingUnit,
01691 xmlDocPtr xmlDoc,
01692 const xmlNodePtr pFirstProperty
01693 );
01694
01695 bool fillIntervalListByMrPrjXmlEntries
01696 (
01697 krmuo::LoggingUnit& pLoggingUnit,
01698 xmlDocPtr xmlDoc,
01699 const xmlNodePtr pFirstInterval,
01700 list<Interval>& pIntervalList
01701 );
01702
01703
01704 bool fillOverriddenDayTypeListByMrPrjXmlEntries
01705 (
01706 krmuo::LoggingUnit& pLoggingUnit,
01707 xmlDocPtr xmlDoc,
01708 const xmlNodePtr pFirstOverriddenDayType,
01709 list<OverriddenDayType>& pOverriddenDayTypeList
01710 );
01711
01712
01713 bool fillDayListByMrPrjXmlEntries
01714 (
01715 krmuo::LoggingUnit& pLoggingUnit,
01716 xmlDocPtr xmlDoc,
01717 const xmlNodePtr pFirstDay,
01718 list<Day>& pDayList
01719 );
01720
01721
01722
01723 bool fillCalSubPartByMrPrjXmlEntries
01724 (
01725 krmuo::LoggingUnit& pLoggingUnit,
01726 xmlDocPtr xmlDoc,
01727 const xmlNodePtr pFirstCalSubPart,
01728 Calendar* pCalendar
01729 );
01730
01731
01735 bool fillCalendarListByMrPrjXmlEntries
01736 (
01737 krmuo::LoggingUnit& pLoggingUnit,
01738 xmlDocPtr xmlDoc,
01739 const xmlNodePtr pFirstProperty
01740 );
01741
01742
01746 void storeRealTimeSlot();
01747
01748 protected:
01749
01750
01751
01752 };
01753 }
01754 #endif