MJob.h
1 /*****************************************************************************
2  **
3  ** Header file for Muster API Job object
4  **
5  ** Name : MJob.h
6  ** Author : Leonardo Bernardini
7 ** Version : Alpha 9.0 Wed May 17th 2017
8  **
9  ** Copyright 2000-2017, Virtual Vertex
10  ** All Rights Reserved.
11  **
12  ** This file contains UNPUBLISHED PROPRIETARY SOURCE CODE.
13  ** The contents of this file may not be disclosed to third parties, copied
14  ** or duplicated in any form, in whole or in part, without the prior written
15  ** permission of the author.
16  **
17  *****************************************************************************/
18 #ifndef MJOB_H
19 #define MJOB_H
20 
21 
22 #ifdef WIN32
23 // Windows definitions
24 #ifdef MCLIENTLIB_EXPORTS
25 #define MCLIENTLIB_API __declspec(dllexport)
26 #else
27 #define MCLIENTLIB_API __declspec(dllimport)
28 #endif
29 #else
30 
31 #ifndef MCLIENTLIB_EXPORTS
32 #ifdef LINUX
33 #define MCLIENTLIB_API
34 #else
35 #define MCLIENTLIB_API
36 #endif
37 #else
38 #define MCLIENTLIB_API
39 #endif
40 
41 #endif
42 
43 #include <string>
44 
45 #include <MClientLib/MProperties.h>
46 #include <MClientLib/MError.h>
47 #include <MClientLib/MFramesRange.h>
48 #include <MClientLib/MChunk.h>
49 #include <MClientLib/MMFGroup.h>
50 #include <MClientLib/MTextFileRule.h>
51 
52 #define IS_JOB_STARTED(x) (x->getStatus() != MClientLib::MJob::kJobStatusJobCompleted && x->getStatus() != MClientLib::MJob::kJobStatusLocked && x->getStatus() != MClientLib::MJob::kJobStatusArchived && x->getStatus() != MClientLib::MJob::kJobStatusOnQueue)
53 
54 namespace MClientLib {
55 
66  class MCLIENTLIB_API MJobFramesCheck {
67 
68  private:
69  int framesCheckMode;
70  int framesCheckFileMode;
71  long long int framesCheckFileLowBoundary;
72  long long int framesCheckFileHighBoundary;
73  int maximumRecursion;
74  bool openFile;
75  bool checkImageDimensions;
76  bool useRenderLayers;
77  int imageWidth;
78  int imageHeight;
79  public:
80 
82 
83  int getFramesCheckMode();
84  int getFramesCheckFileMode();
85  long long int getFramesCheckFileLowBoundary();
86  long long int getFramesCheckFileHighBoundary();
87  int getMaximumRecursion();
88  bool getOpenFile();
89  bool getUseRenderLayers();
90  bool getCheckImageDimensions();
91  int getImageWidth();
92  int getImageHeight();
93 
94  void setFramesCheckMode(int);
95  void setFramesCheckFileMode(int);
96  void setFramesCheckFileLowBoundary(long long int);
97  void setFramesCheckFileHighBoundary(long long int);
98  void setMaximumRecursion(int);
99  void setOpenFile(bool);
100  void setUseRenderLayers(bool);
101  void setCheckImageDimensions(bool);
102  void setImageWidth(int);
103  void setImageHeight(int);
104 
105  };
106 
111  class MCLIENTLIB_API MJobPathTranslator {
112  public:
113  virtual ~MJobPathTranslator();
114  virtual std::string translate(const std::string& path);
115 
116  };
117 
130  class MCLIENTLIB_API MJob {
131 
132  public:
133 
135  typedef void(*job_framecheck_progress_callback)(std::string,std::string,int,void*);
136  typedef bool(*job_framecheck_abort_callback)(void*);
144  enum kJobsStatus {
145  kJobStatusOnQueue = 0x01,
146  kJobStatusStarted = 0x02,
147  kJobStatusInprogressWarnings = 0x04,
148  kJobStatusInprogressErrors = 0x08,
149  kJobStatusPreJobAction = 0x10,
150  kJobStatusPostJobAction = 0x20,
151  kJobStatusPendingPreJobAction = 0x40,
152  kJobStatusPendingPostJobAction = 0x80,
153  kJobStatusPendingFramecheck = 0x100,
154  kJobStatusFramecheck = 0x200,
155  kJobStatusJobCompleted = 0x400,
156  kJobStatusCompletedWithWarnings = 0x800,
157  kJobStatusCompletedWithErrors = 0x1000,
158  kJobStatusPendingPostJobPyAction = 0x2000,
159  kJobStatusPostJobPyAction = 0x4000,
161  kJobStatusLocked = 0x100000,
162  kJobStatusArchived = 0x200000,
163  kJobStatusPaused = 0x400000,
164  kJobEmergencyQueue = 0x800000,
165  kJobRegularQueue = 0x1000000,
166  kJobStatusUnlocked = 0x2000000,
167  kJobStatusUnarchived = 0x4000000,
168  kJobStatusUnpaused = 0x8000000
169  };
170 
176  enum kJobsType {
179  };
180 
187  kJobDependUncompleted = -1,
190  kJobDependErrors
191  };
192 
199  kJobDependLinkOnJob = 0,
201  };
202 
212  kSkipBoth
213  };
214 
223  kFramesCheckChunk
224  };
225 
234  kFramesCheckFileBoundaries
235  };
236 
246  kMissingFrameStatusDimensionsError
247  };
248 
262  kJobCompletionStatusPostChunkActionError
263  };
264 
274  kNotificationsOnError
275  };
276 
289  };
290 
297  kJobsBackupStatesNone = 0x00,
298  kJobsBackupStatesObjectExist = 0x01
299  };
300 
307  kJobsBackupActionNone = 0x00,
308  kJobsBackupActionOverwriteExistings = 0x01,
309  kJobsBackupActionDuplicateEntry = 0x02
310  };
311 
319  kJobsBackupRestoreObjectsExist = 0x01,
320  kJobsBackupRestoreMissingParents = 0x02
321  };
322 
329  kJobsBackupRestoreActionNone = 0x00,
330  kJobsBackupRestoreActionOverwriteExistings = 0x01 ,
331  kJobsBackupRestoreActionDuplicateEntry = 0x02,
332  kJobsBackupRestoreActionRestoreParents = 0x04,
333  kJobsBackupRestoreActionReparent = 0x08,
334  };
335 
336  private:
337  long parentId;
338  long jobId;
339  std::string depends;
340  int dependMode;
341  int dependLinkMode;
342  int jobType;
343  int priority;
344  int indent;
345  int status;
346  double progress;
347  int packetType;
348  int tasksMask;
349  int packetSize;
350  int chunksCount;
351  int chunksPriority;
352  int chunksInterleave;
353  int templateID;
354  std::string templateVersion;
355  int maximumNodes;
356  int workingNodes;
357  int requeued;
358  int exitcodesErrorCheckType;
359  int logsErrorCheckType;
360  std::vector<MClientLib::MTextFileRule> logsParsingRules;
361  bool paused;
362  bool locked;
363  bool archivied;
364  bool emergencyQueue;
365  std::string name;
366  std::string includedPools;
367  std::string excludedPools;
368  std::string owner;
369  std::string project;
370  std::string department;
371  std::string totalTime;
372  std::string camera;
373  std::string shot;
374  std::string sequence;
375  long long int submissionTime;
376  long long int startTime;
377  long long int endTime;
378  long long int startsOn;
379  long long int pauseOn;
380  long long int resumesOn;
381  long long int processingTime;
382  bool overrideChunksTimeout;
383  int overrideChunksTimeoutValue;
384  bool overrideValidExitCodes;
385  bool overrideWarningExitCodes;
386  bool overrideErrorExitCodes;
387  bool overrideMinimumThreads;
388  bool overrideMinimumCores;
389  bool overrideMinimumPhysical;
390  bool overrideMinimumPhysicalGPUs;
391  bool overrideMinimumSpeed;
392  bool overrideMinimumRam;
393  bool overrideMinimumDiskSpace;
394  bool overrideMaximumChunksRequeue;
395  bool borrowInstances;
396 
397  bool overrideMailNotificationsAtChunkLevel,overrideMailNotificationsAtJobLevel;
398  int mailNotificationsAtChunkLevelType,mailNotificationsAtJobLevelType;
399  bool overrideMobileNotificationsAtChunkLevel,overrideMobileNotificationsAtJobLevel;
400  int mobileNotificationsAtChunkLevelType,mobileNotificationsAtJobLevelType;
401  bool overrideNotificatorNotificationsAtChunkLevel,overrideNotificatorNotificationsAtJobLevel;
402  int notificatorNotificationsAtChunkLevelType,notificatorNotificationsAtJobLevelType;
403 
404  bool overrideStartMailNotificationsAtChunkLevel, overrideStartMailNotificationsAtJobLevel;
405  int startMailNotificationsAtChunkLevelType, startMailNotificationsAtJobLevelType;
406  bool overrideStartMobileNotificationsAtChunkLevel, overrideStartMobileNotificationsAtJobLevel;
407  int startMobileNotificationsAtChunkLevelType, startMobileNotificationsAtJobLevelType;
408  bool overrideStartNotificatorNotificationsAtChunkLevel, overrideStartNotificatorNotificationsAtJobLevel;
409  int startNotificatorNotificationsAtChunkLevelType, startNotificatorNotificationsAtJobLevelType;
410 
411  int maximumChunksRequeue;
412  int borrowInstancesValue;
413  std::string overrideValidExitCodesValue;
414  std::string overrideWarningExitCodesValue;
415  std::string overrideErrorExitCodesValue;
416  int overrideMinimumThreadsValue;
417  int overrideMinimumCoresValue;
418  int overrideMinimumPhysicalValue;
419  int overrideMinimumPhysicalGPUsValue;
420  double overrideMinimumSpeedValue;
421  double overrideMinimumRamValue;
422  double overrideMinimumDiskSpaceValue;
423 
424  long long int updateTime;
425 
426  protected:
427  MClientLib::MPropertiesMap attributes;
428 
429  public:
430  MJob();
431  MJob(long _id);
432 
433  virtual ~MJob();
434  virtual void copyFromJob( MJob& job, bool copyAttributes, bool copyIdentities);
435  virtual long getParentId();
436  virtual long getJobId();
437  virtual std::string getDepends();
438  virtual int getDependLinkMode();
439  virtual int getDependMode();
440  virtual int getJobType();
441  virtual int getPriority();
442  virtual int getIndent();
443  virtual int getStatus();
444  virtual double getProgress();
445  virtual int getPacketType();
446  virtual int getTasksMask();
447  virtual int getPacketSize();
448  virtual int getChunksPriority();
449  virtual int getChunksInterleave();
450  virtual int getTemplateID();
451  virtual std::string getTemplateVersion();
452  virtual int getMaximumNodes();
453  virtual int getWorkingNodes();
454  virtual int getRequeued();
455  virtual int getExitCodesErrorCheckType();
456  virtual int getLogsErrorCheckType();
457  virtual int getChunksCount();
458  virtual std::vector<MClientLib::MTextFileRule> getLogsParsingRules();
459  virtual bool getPaused();
460  virtual bool getLocked();
461  virtual bool getArchivied();
462  virtual bool getEmergencyQueue();
463  virtual std::string getName();
464  virtual std::string getIncludedPools();
465  virtual std::string getExcludedPools();
466  virtual std::string getOwner();
467  virtual std::string getProject();
468  virtual std::string getDepartment();
469  virtual std::string getTotalTime();
470  virtual std::string getCamera();
471  virtual std::string getShot();
472  virtual std::string getSequence();
473  virtual long long int getSubmissionTime();
474  virtual long long int getStartTime();
475  virtual long long int getEndTime();
476  virtual long long int getStartsOn();
477  virtual long long int getPauseOn();
478  virtual long long int getResumesOn();
479  virtual long long int getProcessingTime(); /* 9.0.3 */
480  virtual bool getOverrideChunksTimeout();
481  virtual int getOverrideChunksTimeoutValue();
482  virtual bool getOverrideValidExitCodes();
483  virtual bool getOverrideWarningExitCodes();
484  virtual bool getOverrideErrorExitCodes();
485  virtual bool getOverrideMinimumThreads();
486  virtual bool getOverrideMinimumCores();
487  virtual bool getOverrideMinimumPhysical();
488  virtual bool getOverrideMinimumPhysicalGPUs();
489  virtual bool getOverrideMinimumSpeed();
490  virtual bool getOverrideMinimumRam();
491  virtual bool getOverrideMinimumDiskSpace();
492  virtual bool getOverrideMaximumChunksRequeue();
493  virtual int getOverrideMaximumChunksRequeueValue();
494  virtual std::string getOverrideValidExitCodesValue();
495  virtual std::string getOverrideWarningExitCodesValue();
496  virtual std::string getOverrideErrorExitCodesValue();
497  virtual int getOverrideMinimumThreadsValue();
498  virtual int getOverrideMinimumCoresValue();
499  virtual int getOverrideMinimumPhysicalValue();
500  virtual int getOverrideMinimumPhysicalGPUsValue();
501  virtual double getOverrideMinimumSpeedValue();
502  virtual double getOverrideMinimumRamValue();
503  virtual double getOverrideMinimumDiskSpaceValue();
504  virtual int getBorrowInstancesValue();
505  virtual bool getBorrowInstances();
506 
507  virtual bool getOverrideMailNotificationsAtChunkLevel();
508  virtual bool getOverrideMailNotificationsAtJobLevel();
509  virtual int getMailNotificationsAtChunkLevelType();
510  virtual int getMailNotificationsAtJobLevelType();
511  virtual bool getOverrideMobileNotificationsAtChunkLevel();
512  virtual bool getOverrideMobileNotificationsAtJobLevel();
513  virtual int getMobileNotificationsAtChunkLevelType();
514  virtual int getMobileNotificationsAtJobLevelType();
515  virtual bool getOverrideNotificatorNotificationsAtChunkLevel();
516  virtual bool getOverrideNotificatorNotificationsAtJobLevel();
517  virtual int getNotificatorNotificationsAtChunkLevelType();
518  virtual int getNotificatorNotificationsAtJobLevelType();
519 
520  virtual bool getOverrideStartMailNotificationsAtChunkLevel();
521  virtual bool getOverrideStartMailNotificationsAtJobLevel();
522  virtual int getStartMailNotificationsAtChunkLevelType();
523  virtual int getStartMailNotificationsAtJobLevelType();
524  virtual bool getOverrideStartMobileNotificationsAtChunkLevel();
525  virtual bool getOverrideStartMobileNotificationsAtJobLevel();
526  virtual int getStartMobileNotificationsAtChunkLevelType();
527  virtual int getStartMobileNotificationsAtJobLevelType();
528  virtual bool getOverrideStartNotificatorNotificationsAtChunkLevel();
529  virtual bool getOverrideStartNotificatorNotificationsAtJobLevel();
530  virtual int getStartNotificatorNotificationsAtChunkLevelType();
531  virtual int getStartNotificatorNotificationsAtJobLevelType();
532 
533  virtual long long int getUpdateTime();
534 
535  virtual void setParentId(long _parentId);
536  virtual void setJobId(long _jobId);
537  virtual void setDepends(const std::string& _depends);
538  virtual void setDependMode(int _dependMode);
539  virtual void setDependLinkMode(int _dependLinkMode);
540  virtual void setJobType(int _jobType);
541  virtual void setPriority(int _priority);
542  virtual void setIndent(int _indent);
543  virtual void setStatus(int _status);
544  virtual void setProgress(double _progress);
545  virtual void setPacketType(int _packetType);
546  virtual void setTasksMask(int _tasksMask);
547  virtual void setPacketSize(int _packetSize);
548  virtual void setChunksPriority(int _chunksPriority);
549  virtual void setChunksInterleave(int _chunksInterleave);
550  virtual void setTemplateID(int _templateID);
551  virtual void setTemplateVersion(const std::string& _templateVersion);
552  virtual void setMaximumNodes(int _maximumNodes);
553  virtual void setWorkingNodes(int _workingNodes);
554  virtual void setRequeued(int _requeued);
555  virtual void setExitCodesErrorCheckType(int _exitcodesErrorCheckType);
556  virtual void setLogsErrorCheckType(int _logsErrorCheckType);
557  virtual void setChunksCount(int _chunksCount);
558  virtual void setLogsParsingRules(const std::vector<MClientLib::MTextFileRule>& _rules);
559  virtual void setPaused(bool _paused);
560  virtual void setLocked(bool _locked);
561  virtual void setArchivied(bool _archivied);
562  virtual void setEmergencyQueue(bool _emergencyQueue);
563  virtual void setName(const std::string& _name);
564  virtual void setIncludedPools(const std::string& _includedPools);
565  virtual void setExcludedPools(const std::string& _excludedPools);
566  virtual void setOwner(const std::string& _owner);
567  virtual void setProject(const std::string& _project);
568  virtual void setDepartment(const std::string& _department);
569  virtual void setCamera(const std::string& _camera);
570  virtual void setShot(const std::string& _shot);
571  virtual void setSequence(const std::string& _sequence);
572  virtual void setSubmissionTime(long long int _submissionTime);
573  virtual void setStartTime(long long int _startTime);
574  virtual void setEndTime(long long int _endTime);
575  virtual void setProcessingTime(long long int _endTime);
576  virtual void setStartsOn(long long int _startsOn);
577  virtual void setPauseOn(long long int _pauseOn);
578  virtual void setResumesOn(long long int _resumesOn);
579  virtual void setOverrideChunksTimeout(bool _overrideChunksTimeout);
580  virtual void setOverrideChunksTimeoutValue(int _overrideChunksTimeoutValue);
581  virtual void setOverrideValidExitCodes(bool _overrideValidExitCodes);
582  virtual void setOverrideWarningExitCodes(bool _overrideWarningExitCodes);
583  virtual void setOverrideErrorExitCodes(bool _overrideErrorExitCodes);
584  virtual void setOverrideMinimumThreads(bool _overrideMinimumThreads);
585  virtual void setOverrideMinimumCores(bool _overrideMinimumCores);
586  virtual void setOverrideMinimumPhysical(bool _overrideMinimumPhysical);
587  virtual void setOverrideMinimumPhysicalGPUs(bool _overrideMinimumPhysicalGPUs);
588  virtual void setBorrowInstances(bool _borrowInstances);
589  virtual void setOverrideMinimumSpeed(bool _overrideMinimumSpeed);
590  virtual void setOverrideMinimumRam(bool _overrideMinimumRam);
591  virtual void setOverrideMinimumDiskSpace(bool _overrideMinimumDiskSpace);
592  virtual void setOverrideMaximumChunksRequeue(bool _overrideMaximumChunksRequeue);
593  virtual void setOverrideMaximumChunksRequeueValue(int _maximumChunksRequeue);
594  virtual void setOverrideValidExitCodesValue(const std::string& _overrideValidExitCodesValue);
595  virtual void setOverrideWarningExitCodesValue(const std::string& _overrideWarningExitCodesValue);
596  virtual void setOverrideErrorExitCodesValue(const std::string& _overrideErrorExitCodesValue);
597  virtual void setOverrideMinimumThreadsValue(int _overrideMinimumThreadsValue);
598  virtual void setOverrideMinimumCoresValue(int _overrideMinimumCoresValue);
599  virtual void setOverrideMinimumPhysicalValue(int _overrideMinimumPhysicalValue);
600  virtual void setOverrideMinimumPhysicalGPUsValue(int _overrideMinimumPhysicalGPUsValue);
601  virtual void setOverrideMinimumSpeedValue(double _overrideMinimumSpeedValue);
602  virtual void setOverrideMinimumRamValue(double _overrideMinimumRamValue);
603  virtual void setOverrideMinimumDiskSpaceValue(double _overrideMinimumDiskSpaceValue);
604  virtual void setBorrowInstancesValue(int _borrowInstances);
605 
606  virtual void setOverrideMailNotificationsAtChunkLevel(bool _overrideMailNotificationsAtChunkLevel);
607  virtual void setOverrideMailNotificationsAtJobLevel(bool _overrideMailNotificationsAtJobLevel);
608  virtual void setMailNotificationsAtChunkLevelType(int _mailNotificationsAtChunkLevelType);
609  virtual void setMailNotificationsAtJobLevelType(int _mailNotificationsAtJobLevelType);
610  virtual void setOverrideMobileNotificationsAtChunkLevel(bool _overrideMobileNotificationsAtChunkLevel);
611  virtual void setOverrideMobileNotificationsAtJobLevel(bool _overrideMobileNotificationsAtJobLevel);
612  virtual void setMobileNotificationsAtChunkLevelType(int _mobileNotificationsAtChunkLevelType);
613  virtual void setMobileNotificationsAtJobLevelType(int _mobileNotificationsAtJobLevelType);
614  virtual void setOverrideNotificatorNotificationsAtChunkLevel(bool _overrideNotificatorNotificationsAtChunkLevel);
615  virtual void setOverrideNotificatorNotificationsAtJobLevel(bool _overrideNotificatorNotificationsAtJobLevel);
616  virtual void setNotificatorNotificationsAtChunkLevelType(int _notificatorNotificationsAtChunkLevelType);
617  virtual void setNotificatorNotificationsAtJobLevelType(int _notificatorNotificationsAtJobLevelType);
618 
619  virtual void setOverrideStartMailNotificationsAtChunkLevel(bool _overrideMailNotificationsAtChunkLevel);
620  virtual void setOverrideStartMailNotificationsAtJobLevel(bool _overrideMailNotificationsAtJobLevel);
621  virtual void setStartMailNotificationsAtChunkLevelType(int _mailNotificationsAtChunkLevelType);
622  virtual void setStartMailNotificationsAtJobLevelType(int _mailNotificationsAtJobLevelType);
623  virtual void setOverrideStartMobileNotificationsAtChunkLevel(bool _overrideMobileNotificationsAtChunkLevel);
624  virtual void setOverrideStartMobileNotificationsAtJobLevel(bool _overrideMobileNotificationsAtJobLevel);
625  virtual void setStartMobileNotificationsAtChunkLevelType(int _mobileNotificationsAtChunkLevelType);
626  virtual void setStartMobileNotificationsAtJobLevelType(int _mobileNotificationsAtJobLevelType);
627  virtual void setOverrideStartNotificatorNotificationsAtChunkLevel(bool _overrideNotificatorNotificationsAtChunkLevel);
628  virtual void setOverrideStartNotificatorNotificationsAtJobLevel(bool _overrideNotificatorNotificationsAtJobLevel);
629  virtual void setStartNotificatorNotificationsAtChunkLevelType(int _notificatorNotificationsAtChunkLevelType);
630  virtual void setStartNotificatorNotificationsAtJobLevelType(int _notificatorNotificationsAtJobLevelType);
631 
632  virtual void setUpdateTime(long long int updateTime);
633 
634  virtual void clearJob();
635 
636  virtual bool attributeGetFloat(const char* key, float& dest, bool* state = 0);
637  virtual bool attributeGetInt(const char* key, int& dest, bool* state= 0);
638  virtual bool attributeGetBool(const char* key, bool& dest, bool* state= 0);
639  virtual bool attributeGetString(const char* key, std::string& dest, bool* state= 0, bool* subst = 0);
640  virtual bool attributeGetTimet(const char* key, time_t& dest, bool* state= 0);
641  virtual bool attributeGetLong(const char* key, long& dest, bool* state= 0);
642  virtual bool attributeGetInt64(const char* key, long long int& dest, bool* state= 0);
643  virtual std::string attributeGetString(const char* key);
644  virtual bool attributeGetBool(const char* key);
645  virtual float attributeGetFloat(const char* key);
646  virtual int attributeGetInt(const char* key);
647  virtual long long int attributeGetInt64(const char* key);
648  virtual bool attributeIsEnabled(const char* key);
649  virtual bool attributeExists(const char* key);
650  virtual bool attributeHasSubstitutionEnabled(const char* key);
651  virtual void attributeSetFloat(const char* key, float value, bool state = true);
652  virtual void attributeSetInt(const char* key, int value, bool state = true);
653  virtual void attributeSetBool(const char* key, bool value, bool state = true);
654  virtual void attributeSetString(const char* key, std::string value, bool state = true, bool subst = false);
655  virtual void attributeSetTimet(const char* key, time_t* value, bool state = true);
656  virtual void attributeSetLong(const char* key, long value, bool state = true);
657  virtual void attributeSetInt64(const char* key, long long int value, bool state = true);
658 
659  virtual void attributeRemove(const char* key);
660  virtual void attributesClear();
661  MClientLib::MPropertiesMap getAttributes();
662  MClientLib::itemAttributesMap& getAttributesMap();
663 
664  std::list<MClientLib::MFramesRange> GetFrameRanges();
665  std::list<MClientLib::MFramesRange> GetRangedChunks(std::list<MClientLib::MFramesRange>& ranges, int& framesCount);
666  std::list<MClientLib::MChunk> BuildChunks( std::list<MClientLib::MFramesRange>& ranges, std::set<float>& totalFrames, long chunksStartingID);
667  void NormalizeFramesAttributes(const std::set<float>& totalFrames,const std::list<MClientLib::MChunk>& chunks, bool editingJob);
668  void NormalizeFramesMasks();
669  std::vector<MClientLib::MMFGroup*> CheckForMissingFrames(job_framecheck_progress_callback callback, job_framecheck_abort_callback abortCallback, void* context, const std::map<std::string, std::string>& framesMask,int fileCheckType, long long int fileMin, long long int fileMax,
670  bool openImage, bool checkImageDimensions, int imageWidth, int imageHeight,long chunkId=-1);
671  std::vector<MClientLib::MMFGroup*> CheckForMissingFrames(const std::map<std::string, std::string>& framesMask, int fileCheckType, long long int fileMin, long long int fileMax,
672  bool openImage, bool checkImageDimensions, int imageWidth, int imageHeight, long chunkId = -1);
673 
675  virtual std::string Marshall(MJobPathTranslator* translator=0, bool forceParent=false, long forcedParentId=-1);
676  virtual bool Unmarshall(const std::vector<std::string>& items,MJobPathTranslator* translator=0);
677  void castedRelease();
680  };
681 
683 }
684 
685 #endif
kJobsChunksPrioritiesType
Job chunks priority mode enumeration.
Definition: MJob.h:282
kJobsBackupAction
Job backup restore operation action modes enumeration.
Definition: MJob.h:306
kMissingFramesStatus
Job frmae check result enumeration.
Definition: MJob.h:241
Class holding a set of properties of a MJob.
Definition: MProperties.h:65
kJobsDependMode
Job dependancies type enumeration.
Definition: MJob.h:186
kJobsDependLinkMode
Job dependancies link mode enumeration.
Definition: MJob.h:198
kJobsStatus
Job status enumeration.
Definition: MJob.h:144
kErrorChecksType
Job error check type enumeration.
Definition: MJob.h:208
Class holding a job frames check behaviours.
Definition: MJob.h:66
kJobsCompletationStatus
Job completion status enumeration.
Definition: MJob.h:254
kJobsNotificationsType
Job notifications type enumeration.
Definition: MJob.h:270
kJobsBackupRestoreState
Job backup restore operation conflicts enumeration.
Definition: MJob.h:317
kFramesCheckFileMode
Job frames check file check enumeration.
Definition: MJob.h:231
kJobsBackupStates
Job backup conflic state enumeration.
Definition: MJob.h:296
kJobsType
Job types enumeration.
Definition: MJob.h:176
Class holding a job data structure.
Definition: MJob.h:130
kFramesCheckMode
Job frames check mode enumeration.
Definition: MJob.h:220
kJobsBackupRestoreAction
Job backup restore action enumeration.
Definition: MJob.h:328
std::map< std::string, itemAttribute > itemAttributesMap
Definition: MProperties.h:52