24 #ifdef MCLIENTLIB_EXPORTS
25 #define MCLIENTLIB_API __declspec(dllexport)
27 #define MCLIENTLIB_API __declspec(dllimport)
31 #ifndef MCLIENTLIB_EXPORTS
33 #define MCLIENTLIB_API
35 #define MCLIENTLIB_API
38 #define MCLIENTLIB_API
47 #define IS_JOB_STARTED(x) (x->getStatus() != MClientLib::MJob::kJobsStatusJobCompleted && x->getStatus() != MClientLib::MJob::kJobStatusLocked && x->getStatus() != MClientLib::MJob::kJobStatusArchived && x->getStatus() != MClientLib::MJob::kJobStatusOnQueue)
49 namespace MClientLib {
58 int framesCheckFileMode;
59 long long int framesCheckFileLowBoundary;
60 long long int framesCheckFileHighBoundary;
67 int getFramesCheckMode();
68 int getFramesCheckFileMode();
69 long long int getFramesCheckFileLowBoundary();
70 long long int getFramesCheckFileHighBoundary();
71 int getMaximumRecursion();
73 void setFramesCheckMode(
int);
74 void setFramesCheckFileMode(
int);
75 void setFramesCheckFileLowBoundary(
long long int);
76 void setFramesCheckFileHighBoundary(
long long int);
77 void setMaximumRecursion(
int);
86 virtual std::string translate(
const std::string& path);
101 kJobStatusOnQueue = 0x01,
102 kJobStatusStarted = 0x02,
103 kJobStatusInprogressWarnings = 0x04,
104 kJobStatusInprogressErrors = 0x08,
105 kJobStatusPreJobAction = 0x10,
106 kJobStatusPostJobAction = 0x20,
107 kJobStatusPendingPreJobAction = 0x40,
108 kJobStatusPendingPostJobAction = 0x80,
109 kJobStatusPendingFramecheck = 0x100,
110 kJobStatusFramecheck = 0x200,
111 kJobsStatusJobCompleted = 0x400,
112 kJobStatusCompletedWithWarnings = 0x800,
113 kJobStatusCompletedWithErrors = 0x1000,
114 kJobStatusPendingPostJobPyAction = 0x2000,
115 kJobStatusPostJobPyAction = 0x4000,
117 kJobStatusLocked = 0x100000,
118 kJobStatusArchived = 0x200000,
119 kJobStatusPaused = 0x400000
134 kJobDependUncompleted = -1,
165 kFramesCheckFileBoundaries
174 kMissingFrameStatusSizeError
188 kJobCompletionStatusPostChunkActionError
198 kNotificationsOnError
217 int exitcodesErrorCheckType;
218 int logsErrorCheckType;
223 std::string includedPools;
224 std::string excludedPools;
227 std::string department;
228 std::string totalTime;
229 long long int submissionTime;
230 long long int startTime;
231 long long int endTime;
232 long long int startsOn;
233 long long int pauseOn;
234 long long int resumesOn;
235 bool overrideMailAddress;
236 bool overrideChunksTimeout;
237 std::string mailAddress;
238 int overrideChunksTimeoutValue;
239 bool overrideValidExitCodes;
240 bool overrideWarningExitCodes;
241 bool overrideErrorExitCodes;
242 bool overrideValidLogTexts;
243 bool overrideWarningLogTexts;
244 bool overrideErrorLogTexts;
245 bool overrideMinimumThreads;
246 bool overrideMinimumCores;
247 bool overrideMinimumPhysical;
248 bool overrideMinimumSpeed;
249 bool overrideMinimumRam;
250 bool overrideMinimumDiskSpace;
251 bool overrideMaximumChunksRequeue;
253 bool overrideNotificationsAtJobLevel;
254 bool enableNotificationsAtJobLevel;
255 int notificationsAtJobLevelType;
256 bool overrideNotificationsAtChunkLevel;
257 bool enableNotificationsAtChunkLevel;
258 int notificationsAtChunkLevelType;
260 int maximumChunksRequeue;
261 std::string overrideValidExitCodesValue;
262 std::string overrideWarningExitCodesValue;
263 std::string overrideErrorExitCodesValue;
264 std::string overrideValidLogTextsValue;
265 std::string overrideWarningLogTextsValue;
266 std::string overrideErrorLogTextsValue;
267 int overrideMinimumThreadsValue;
268 int overrideMinimumCoresValue;
269 int overrideMinimumPhysicalValue;
270 double overrideMinimumSpeedValue;
271 double overrideMinimumRamValue;
272 double overrideMinimumDiskSpaceValue;
274 long long int updateTime;
284 virtual void copyFromJob(
MJob& job,
bool copyAttributes,
bool copyIdentities);
285 virtual long getParentId();
286 virtual long getJobId();
287 virtual std::string getDepends();
288 virtual int getDependMode();
289 virtual int getJobType();
290 virtual int getPriority();
291 virtual int getIndent();
292 virtual int getStatus();
293 virtual double getProgress();
294 virtual int getPacketType();
295 virtual int getPacketSize();
296 virtual int getTemplateID();
297 virtual int getMaximumNodes();
298 virtual int getWorkingNodes();
299 virtual int getRequeued();
300 virtual int getExitCodesErrorCheckType();
301 virtual int getLogsErrorCheckType();
302 virtual bool getPaused();
303 virtual bool getLocked();
304 virtual bool getArchivied();
305 virtual std::string getName();
306 virtual std::string getIncludedPools();
307 virtual std::string getExcludedPools();
308 virtual std::string getOwner();
309 virtual std::string getProject();
310 virtual std::string getDepartment();
311 virtual std::string getTotalTime();
312 virtual long long int getSubmissionTime();
313 virtual long long int getStartTime();
314 virtual long long int getEndTime();
315 virtual long long int getStartsOn();
316 virtual long long int getPauseOn();
317 virtual long long int getResumesOn();
318 virtual bool getOverrideMailAddress();
319 virtual bool getOverrideChunksTimeout();
320 virtual std::string getMailAddress();
321 virtual int getOverrideChunksTimeoutValue();
322 virtual bool getOverrideValidExitCodes();
323 virtual bool getOverrideWarningExitCodes();
324 virtual bool getOverrideErrorExitCodes();
325 virtual bool getOverrideValidLogTexts();
326 virtual bool getOverrideWarningLogTexts();
327 virtual bool getOverrideErrorLogTexts();
328 virtual bool getOverrideMinimumThreads();
329 virtual bool getOverrideMinimumCores();
330 virtual bool getOverrideMinimumPhysical();
331 virtual bool getOverrideMinimumSpeed();
332 virtual bool getOverrideMinimumRam();
333 virtual bool getOverrideMinimumDiskSpace();
334 virtual bool getOverrideMaximumChunksRequeue();
335 virtual int getOverrideMaximumChunksRequeueValue();
336 virtual std::string getOverrideValidExitCodesValue();
337 virtual std::string getOverrideWarningExitCodesValue();
338 virtual std::string getOverrideErrorExitCodesValue();
339 virtual std::string getOverrideValidLogTextsValue();
340 virtual std::string getOverrideWarningLogTextsValue();
341 virtual std::string getOverrideErrorLogTextsValue();
342 virtual int getOverrideMinimumThreadsValue();
343 virtual int getOverrideMinimumCoresValue();
344 virtual int getOverrideMinimumPhysicalValue();
345 virtual double getOverrideMinimumSpeedValue();
346 virtual double getOverrideMinimumRamValue();
347 virtual double getOverrideMinimumDiskSpaceValue();
348 virtual bool getOverrideNotificationsAtJobLevel();
349 virtual bool getEnableNotificationsAtJobLevel();
350 virtual int getNotificationsAtJobLevelType();
351 virtual bool getOverrideNotificationsAtChunkLevel();
352 virtual bool getEnableNotificationsAtChunkLevel();
353 virtual int getNotificationsAtChunkLevelType();
354 virtual long long int getUpdateTime();
356 virtual void setParentId(
long _parentId);
357 virtual void setJobId(
long _jobId);
358 virtual void setDepends(
const std::string& _depends);
359 virtual void setDependMode(
int _dependMode);
360 virtual void setJobType(
int _jobType);
361 virtual void setPriority(
int _priority);
362 virtual void setIndent(
int _indent);
363 virtual void setStatus(
int _status);
364 virtual void setProgress(
double _progress);
365 virtual void setPacketType(
int _packetType);
366 virtual void setPacketSize(
int _packetSize);
367 virtual void setTemplateID(
int _templateID);
368 virtual void setMaximumNodes(
int _maximumNodes);
369 virtual void setWorkingNodes(
int _workingNodes);
370 virtual void setRequeued(
int _requeued);
371 virtual void setExitCodesErrorCheckType(
int _exitcodesErrorCheckType);
372 virtual void setLogsErrorCheckType(
int _logsErrorCheckType);
373 virtual void setPaused(
bool _paused);
374 virtual void setLocked(
bool _locked);
375 virtual void setArchivied(
bool _archivied);
376 virtual void setName(
const std::string& _name);
377 virtual void setIncludedPools(
const std::string& _includedPools);
378 virtual void setExcludedPools(
const std::string& _excludedPools);
379 virtual void setOwner(
const std::string& _owner);
380 virtual void setProject(
const std::string& _project);
381 virtual void setDepartment(
const std::string& _department);
382 virtual void setSubmissionTime(
long long int _submissionTime);
383 virtual void setStartTime(
long long int _startTime);
384 virtual void setEndTime(
long long int _endTime);
385 virtual void setStartsOn(
long long int _startsOn);
386 virtual void setPauseOn(
long long int _pauseOn);
387 virtual void setResumesOn(
long long int _resumesOn);
388 virtual void setOverrideMailAddress(
bool _overrideMailAddress);
389 virtual void setOverrideChunksTimeout(
bool _overrideChunksTimeout);
390 virtual void setMailAddress(
const std::string& _mailAddress);
391 virtual void setOverrideChunksTimeoutValue(
int _overrideChunksTimeoutValue);
392 virtual void setOverrideValidExitCodes(
bool _overrideValidExitCodes);
393 virtual void setOverrideWarningExitCodes(
bool _overrideWarningExitCodes);
394 virtual void setOverrideErrorExitCodes(
bool _overrideErrorExitCodes);
395 virtual void setOverrideValidLogTexts(
bool _overrideValidLogTexts);
396 virtual void setOverrideWarningLogTexts(
bool _overrideWarningLogTexts);
397 virtual void setOverrideErrorLogTexts(
bool _overrideErrorLogTexts);
398 virtual void setOverrideMinimumThreads(
bool _overrideMinimumThreads);
399 virtual void setOverrideMinimumCores(
bool _overrideMinimumCores);
400 virtual void setOverrideMinimumPhysical(
bool _overrideMinimumPhysical);
401 virtual void setOverrideMinimumSpeed(
bool _overrideMinimumSpeed);
402 virtual void setOverrideMinimumRam(
bool _overrideMinimumRam);
403 virtual void setOverrideMinimumDiskSpace(
bool _overrideMinimumDiskSpace);
404 virtual void setOverrideMaximumChunksRequeue(
bool _overrideMaximumChunksRequeue);
405 virtual void setOverrideMaximumChunksRequeueValue(
int _maximumChunksRequeue);
406 virtual void setOverrideValidExitCodesValue(
const std::string& _overrideValidExitCodesValue);
407 virtual void setOverrideWarningExitCodesValue(
const std::string& _overrideWarningExitCodesValue);
408 virtual void setOverrideErrorExitCodesValue(
const std::string& _overrideErrorExitCodesValue);
409 virtual void setOverrideValidLogTextsValue(
const std::string& _overrideValidLogTextsValue);
410 virtual void setOverrideWarningLogTextsValue(
const std::string& _overrideWarningLogTextsValue);
411 virtual void setOverrideErrorLogTextsValue(
const std::string& _overrideErrorLogTextsValue);
412 virtual void setOverrideMinimumThreadsValue(
int _overrideMinimumThreadsValue);
413 virtual void setOverrideMinimumCoresValue(
int _overrideMinimumCoresValue);
414 virtual void setOverrideMinimumPhysicalValue(
int _overrideMinimumPhysicalValue);
415 virtual void setOverrideMinimumSpeedValue(
double _overrideMinimumSpeedValue);
416 virtual void setOverrideMinimumRamValue(
double _overrideMinimumRamValue);
417 virtual void setOverrideMinimumDiskSpaceValue(
double _overrideMinimumDiskSpaceValue);
418 virtual void setOverrideNotificationsAtJobLevel(
bool _overrideNotificationsAtJobLevel);
419 virtual void setEnableNotificationsAtJobLevel(
bool _enableNotificationsAtJobLevel);
420 virtual void setNotificationsAtJobLevelType(
int _notificationsAtJobLevelType);
421 virtual void setOverrideNotificationsAtChunkLevel(
bool _overrideNotificationsAtChunkLevel);
422 virtual void setEnableNotificationsAtChunkLevel(
bool _enableNotificationsAtChunkLevel);
423 virtual void setNotificationsAtChunkLevelType(
int _notificationsAtChunkLevelType);
424 virtual void setUpdateTime(
long long int updateTime);
426 virtual void clearJob();
428 virtual bool Unmarshall(
const std::vector<std::string>& items,
MJobPathTranslator* translator=0);
430 virtual bool attributeGetFloat(
const char* key,
float& dest,
bool* state = 0);
431 virtual bool attributeGetInt(
const char* key,
int& dest,
bool* state= 0);
432 virtual bool attributeGetBool(
const char* key,
bool& dest,
bool* state= 0);
433 virtual bool attributeGetString(
const char* key, std::string& dest,
bool* state= 0,
bool* subst = 0);
434 virtual bool attributeGetTimet(
const char* key, time_t& dest,
bool* state= 0);
435 virtual bool attributeGetLong(
const char* key,
long& dest,
bool* state= 0);
436 virtual bool attributeGetInt64(
const char* key,
long long int& dest,
bool* state= 0);
437 virtual std::string attributeGetString(
const char* key);
438 virtual bool attributeGetBool(
const char* key);
439 virtual float attributeGetFloat(
const char* key);
440 virtual int attributeGetInt(
const char* key);
441 virtual long long int attributeGetInt64(
const char* key);
442 virtual bool attributeIsEnabled(
const char* key);
443 virtual bool attributeExists(
const char* key);
444 virtual bool attributeHasSubstitutionEnabled(
const char* key);
445 virtual void attributeSetFloat(
const char* key,
float value,
bool state =
true);
446 virtual void attributeSetInt(
const char* key,
int value,
bool state =
true);
447 virtual void attributeSetBool(
const char* key,
bool value,
bool state =
true);
448 virtual void attributeSetString(
const char* key, std::string value,
bool state =
true,
bool subst =
false);
449 virtual void attributeSetTimet(
const char* key, time_t* value,
bool state =
true);
450 virtual void attributeSetLong(
const char* key,
long value,
bool state =
true);
451 virtual void attributeSetInt64(
const char* key,
long long int value,
bool state =
true);
453 virtual void attributeRemove(
const char* key);
454 virtual void attributesClear();
458 void castedRelease();