MConfiguration.h
1 /*****************************************************************************
2  **
3  ** Header file for Muster API configuration object
4  **
5  ** Name : MConfiguration.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 MCONFIGURATION_H
19 #define MCONFIGURATION_H
20 
21 #ifdef WIN32
22 // Windows definitions
23 #ifdef MCLIENTLIB_EXPORTS
24 #define MCLIENTLIB_API __declspec(dllexport)
25 #else
26 #define MCLIENTLIB_API __declspec(dllimport)
27 #endif
28 #else
29 
30 #ifndef MCLIENTLIB_EXPORTS
31 #ifdef LINUX
32 #define MCLIENTLIB_API
33 #else
34 #define MCLIENTLIB_API
35 #endif
36 #else
37 #define MCLIENTLIB_API
38 #endif
39 #endif
40 
41 #if defined(_WIN32)
42 #pragma warning(disable: 4251)
43 #endif // _WIN32
44 
45 #include <MClientLib/MDriveMap.h>
46 
47 namespace MClientLib {
48 
63  };
64 
69  class MCLIENTLIB_API MDispatcherConfigurationTuning {
70  private:
71  int nodesHandlingThreads;
72  int nodesHandlingThreadsMultiplier;
73 
74  int managementHandlingThreads;
75  int managementHandlingThreadsMultiplier;
76  int managementKeepAliveResolution;
77 
78  int notifyHandlingThreads;
79  int notifyHandlingThreadsMultiplier;
80  int notifyKeepAliveResolution;
81 
82  int garbageCollectorTTL;
83  int selectionLogicCyclingResolution;
84  int idlingScriptingTime;
85  int poolingEvents;
86  bool traceNetworkPackets;
87 
88  public:
91  virtual int getIdlingScriptingTime();
93  virtual int getNodesHandlingThreads();
94  virtual int getNodesHandlingThreadsMultiplier();
96  virtual int getManagementHandlingThreads();
97  virtual int getManagementHandlingThreadsMultiplier();
98  virtual int getManagementKeepAliveResolution();
100  virtual int getNotifyHandlingThreads();
101  virtual int getNotifyHandlingThreadsMultiplier();
102  virtual int getNotifyKeepAliveResolution();
104  virtual int getGarbageCollectorTTL();
105  virtual int getSelectionLogicCyclingResolution();
106  virtual int getPoolingEvents();
107  virtual bool getTraceNetworkPackets();
109  virtual void setIdlingScriptingTime(int time );
111  virtual void setNodesHandlingThreads(int threads );
112  virtual void setNodesHandlingThreadsMultiplier(int multiplier );
114  virtual void setManagementHandlingThreads(int threads );
115  virtual void setManagementHandlingThreadsMultiplier(int multiplier );
116  virtual void setManagementKeepAliveResolution(int resolution );
118  virtual void setNotifyHandlingThreads(int threads );
119  virtual void setNotifyHandlingThreadsMultiplier(int multiplier );
120  virtual void setNotifyKeepAliveResolution(int resolution );
122  virtual void setGarbageCollectorTTL(int ttl );
123  virtual void setSelectionLogicCyclingResolution(int resolution );
124  virtual void setPoolingEvents(int eventsNum );
125  virtual void setTraceNetworkPackets(bool traceNetworkPackets );
126  };
127 
132  class MCLIENTLIB_API MDispatcherConfigurationLicensing {
133  private:
134  std::string customerName;
135  std::string companyName;
136  std::string encryption;
137 
138  public:
139  MDispatcherConfigurationLicensing();
140  virtual ~MDispatcherConfigurationLicensing();
141  virtual std::string getCustomerName();
142  virtual std::string getCompanyName();
143  virtual std::string getEncryption();
144 
145  virtual void setCustomerName(const std::string& customerName);
146  virtual void setCompanyName(const std::string& companyName);
147  virtual void setEncryption(const std::string& encryption);
148  };
149 
161  class MCLIENTLIB_API MDispatcherConfigurationGeneral {
162  private:
163  bool engineStartup;
164  bool enableWebServer;
165  bool blockSystemSleep;
166  public:
169  virtual bool getEngineStartup();
170  virtual bool getEnableWebServer();
171  virtual bool getBlockSystemSleep();
173  virtual void setEngineStartup(bool enable);
174  virtual void setEnableWebServer(bool enable);
175  virtual void setBlockSystemSleep(bool enable);
176  };
177 
189  class MCLIENTLIB_API MDispatcherConfigurationDatabase {
190  private:
191  std::string queueUsername;
192  std::string queuePassword;
193  std::string queueAddress;
194  std::string queueEngine;
195  std::string queueDbName;
196 
197  std::string historyUsername;
198  std::string historyPassword;
199  std::string historyAddress;
200  std::string historyEngine;
201  std::string historyDbName;
202 
203  std::string backupUsername;
204  std::string backupPassword;
205  std::string backupAddress;
206  std::string backupEngine;
207  std::string backupDbName;
208 
209  public:
212  virtual void setQueueUsername(const std::string& username );
213  virtual void setQueuePassword(const std::string& password );
214  virtual void setQueueAddress(const std::string& address );
215  virtual void setQueueEngine(const std::string& engine );
216  virtual void setQueueDbName(const std::string& dbName );
218  virtual void setHistoryUsername(const std::string& username );
219  virtual void setHistoryPassword(const std::string& password );
220  virtual void setHistoryAddress(const std::string& address );
221  virtual void setHistoryEngine(const std::string& engine );
222  virtual void setHistoryDbName(const std::string& dbName );
224  virtual void setBackupUsername(const std::string& username );
225  virtual void setBackupPassword(const std::string& password );
226  virtual void setBackupAddress(const std::string& address );
227  virtual void setBackupEngine(const std::string& engine );
228  virtual void setBackupDbName(const std::string& dbName );
230  virtual std::string getQueueUsername();
231  virtual std::string getQueuePassword();
232  virtual std::string getQueueAddress();
233  virtual std::string getQueueEngine();
234  virtual std::string getQueueDbName();
236  virtual std::string getHistoryUsername();
237  virtual std::string getHistoryPassword();
238  virtual std::string getHistoryAddress();
239  virtual std::string getHistoryEngine();
240  virtual std::string getHistoryDbName();
242  virtual std::string getBackupUsername();
243  virtual std::string getBackupPassword();
244  virtual std::string getBackupAddress();
245  virtual std::string getBackupEngine();
246  virtual std::string getBackupDbName();
247  };
248 
260  class MCLIENTLIB_API MDispatcherConfigurationBehaviours {
261  private:
262  bool resetChunksOnReinit;
263  bool removeOrphanedInstances;
264  int instancesDistinguish;
265  bool requeueOnDisconnection;
266  bool requeueOnDisconnectionIncreaseCounter;
267  bool requeueOnTimeout;
268  int requeueOnTimeoutTimer;
269  bool requeueKillActiveRenders;
270  int maximumChunksRequeue;
271  bool submitPausedJobs;
272  int maximumThreads;
273  bool enableNTAutomapping;
274  bool subchunksCalculateProgress;
275  bool parallelRendering;
276  bool chunkRequeueCounterOnManualOperations;
277  int foldersPriorityMode;
278  std::vector<MDriveMap> driveMappings;
279  int NTAutomappingDisconnectionPolicy;
280  bool buildStatusArray;
281  bool repositoriesAreCaseSensitive;
282  bool makeTemplatesSnapshots;
283  bool flagCompletedJobsAsArchived;
284  int flagCompletedJobsAsArchivedStatus;
285  bool flagJobsAsArchived;
286  int flagJobAsArchivedAmount;
287  int flagJobsAsArchivedCounterType;
288  int flagJobsAsArchivedStatus;
289  bool deleteArchivedJobs;
290  int deleteArchivedJobsAmount;
291  int deleteArchivedJobsCounterType;
292  int deleteArchivedJobsStatus;
293  bool backupJobs;
294  int backupJobsAmount;
295  int backupJobsCounterType;
296  int backupJobsStatus;
297  bool backupJobsArchivedOnly;
298  bool autoBackupDeletedJobs;
299  bool storeNodesUsageInHistoryChunks;
300  bool storeNodesUsageInChunks;
301  bool prefilterParentPool;
302  std::string impersonationUsername;
303  std::string impersonationPassword;
304  bool impersonationUseShell;
305  int frameCheckTimeout;
306  int removedJobsCachingTimeout;
307  int removedNodesCachingTimeout;
308  bool killActiveRendersForEmergencyQueue;
309  public:
310 
318  kFoldersPriorityCumulative
319  };
320 
324  virtual bool getResetChunksOnReinit();
325  virtual bool getRemoveOrphanedInstances();
326  virtual int getInstancesDistinguish();
327  virtual bool getRequeueOnDisconnection();
328  virtual bool getRequeueOnDisconnectionIncreaseCounter();
329  virtual bool getRequeueOnTimeout();
330  virtual int getRequeueOnTimeoutTimer();
331  virtual bool getRequeueKillActiveRenders();
332  virtual int getOverrideMaximumChunksRequeueValue();
333  virtual bool getSubmitPausedJobs();
334  virtual int getMaximumThreads();
335  virtual bool getEnableNTAutomapping();
336  virtual bool getChunkRequeueCounterOnManualOperations();
337  virtual bool getSubchunksCalculateProgress();
338  virtual bool getParallelRendering();
339  virtual int getFoldersPriorityMode();
340  virtual std::vector<MClientLib::MDriveMap> getDriveMappings();
341  virtual int getNTAutomappingDisconnectionPolicy();
342  virtual bool getBuildStatusArray();
343  virtual bool getRepositoriesAreCaseSensitive();
344  virtual bool getMakeTemplatesSnapshots();
345  virtual bool getFlagCompletedJobsAsArchived();
346  virtual int getFlagCompletedJobsAsArchivedStatus();
347  virtual bool getFlagJobsAsArchived();
348  virtual int getFlagJobAsArchivedAmount();
349  virtual int getFlagJobsAsArchivedCounterType();
350  virtual int getFlagJobsAsArchivedStatus();
351  virtual bool getDeleteArchivedJobs();
352  virtual int getDeleteArchivedJobsAmount();
353  virtual int getDeleteArchivedJobsCounterType();
354  virtual int getDeleteArchivedJobsStatus();
355  virtual bool getBackupJobs();
356  virtual int getBackupJobsAmount();
357  virtual int getBackupJobsCounterType();
358  virtual int getBackupJobsStatus();
359  virtual bool getBackupJobsArchivedOnly();
360  virtual bool getAutoBackupDeletedJobs();
361  virtual bool getStoreNodesUsageInHistoryChunks();
362  virtual bool getStoreNodesUsageInChunks();
363  virtual bool getPrefilterParentPool();
364  virtual std::string getImpersonationUsername();
365  virtual std::string getImpersonationPassword();
366  virtual bool getImpersonationUseShell();
367  virtual int getFrameCheckTimeout();
368  virtual int getRemovedJobsCachingTimeout();
369  virtual int getRemovedNodesCachingTimeout();
370  virtual bool getKillActiveRendersForEmergencyQueue();
372  virtual void setResetChunksOnReinit(bool state );
373  virtual void setRemoveOrphanedInstances(bool state );
374  virtual void setInstancesDistinguish(int type);
375  virtual void setRequeueOnDisconnection(bool state);
376  virtual void setRequeueOnDisconnectionIncreaseCounter(bool state);
377  virtual void setRequeueOnTimeout(bool state);
378  virtual void setRequeueOnTimeoutTimer(int timeout );
379  virtual void setRequeueKillActiveRenders(bool state );
380  virtual void setOverrideMaximumChunksRequeueValue(int value);
381  virtual void setSubmitPausedJobs(bool state);
382  virtual void setMaximumThreads(int value);
383  virtual void setEnableNTAutomapping(bool state);
384  virtual void setChunkRequeueCounterOnManualOperations(bool state);
385  virtual void setSubchunksCalculateProgress(bool state);
386  virtual void setParallelRendering(bool state);
387  virtual void setFoldersPriorityMode(int mode);
388  virtual void setDriveMappings(const std::vector<MClientLib::MDriveMap>& mappings);
389  virtual void setNTAutomappingDisconnectionPolicy(int policy);
390  virtual void setBuildStatusArray(bool state);
391  virtual void setRepositoriesAreCaseSensitive(bool state);
392  virtual void setMakeTemplatesSnapshots(bool state);
393  virtual void setFlagCompletedJobsAsArchived(bool state);
394  virtual void setFlagCompletedJobsAsArchivedStatus(int state);
395  virtual void setFlagJobsAsArchived(bool state);
396  virtual void setFlagJobAsArchivedAmount(int amount);
397  virtual void setFlagJobsAsArchivedCounterType(int type);
398  virtual void setFlagJobsAsArchivedStatus(int state);
399  virtual void setDeleteArchivedJobs(bool state);
400  virtual void setDeleteArchivedJobsAmount(int amount);
401  virtual void setDeleteArchivedJobsCounterType(int type);
402  virtual void setDeleteArchivedJobsStatus(int state);
403  virtual void setBackupJobs(bool state);
404  virtual void setBackupJobsAmount(int amount);
405  virtual void setBackupJobsCounterType(int type);
406  virtual void setBackupJobsStatus(int state);
407  virtual void setBackupJobsArchivedOnly(bool state);
408  virtual void setAutoBackupDeletedJobs(bool state);
409  virtual void setStoreNodesUsageInHistoryChunks(bool state);
410  virtual void setStoreNodesUsageInChunks(bool state);
411  virtual void setPrefilterParentPool(bool state);
412  virtual void setImpersonationUsername(const std::string& username);
413  virtual void setImpersonationPassword(const std::string& password);
414  virtual void setImpersonationUseShell(bool state);
415  virtual void setFrameCheckTimeout(int timeout);
416  virtual void setRemovedJobsCachingTimeout(int timeout);
417  virtual void setRemovedNodesCachingTimeout(int timeout);
418  virtual void setKillActiveRendersForEmergencyQueue(bool state);
420  virtual void addDriveMapping(const MClientLib::MDriveMap& mappings);
422  };
423 
435  class MCLIENTLIB_API MDispatcherConfigurationLogs {
436  private:
437  bool autoClear;
438  int autoClearLimit;
439  bool logSystemEvents;
440  bool logUsersEvents;
441  bool logClientsEvents;
442  bool logClientsErrorsEvents;
443  bool logCommandLine;
444  bool logReturnCodes;
445 
446  std::string activityLogsFolder;
447  bool clearActivityLogsOlderThan;
448  int clearActivityLogsOlderThanDays;
449  bool clearActivityLogsExceeds;
450  int clearActivityLogsExceedsMB;
451  int activityLogsSeverity;
452  bool activityLogsGzip;
453 
454  std::string actionsLogsFolder;
455  bool clearActionsLogsOlderThan;
456  int clearActionsLogsOlderThanDays;
457  bool clearActionsLogsExceeds;
458  int clearActionsLogsExceedsMB;
459  bool actionsLogsGzip;
460 
461  int pythonLogMode;
462 
463  public:
465  virtual ~MDispatcherConfigurationLogs();
467  virtual bool getAutoClear();
468  virtual int getAutoClearLimit();
469  virtual bool getLogSystemEvents();
470  virtual bool getLogUsersEvents();
471  virtual bool getLogClientsEvents();
472  virtual bool getLogClientsErrorsEvents();
473  virtual bool getLogCommandLine();
474  virtual bool getLogReturnCodes();
475 
476  virtual std::string getActivityLogsFolder();
477  virtual bool getClearActivityLogsOlderThan();
478  virtual int getClearActivityLogsOlderThanDays();
479  virtual bool getClearActivityLogsExceeds();
480  virtual int getClearActivityLogsExceedsMB();
481  virtual int getActivityLogsSeverity();
482  virtual bool getActivityLogsGzip();
483 
484  virtual std::string getActionsLogsFolder();
485  virtual bool getClearActionsLogsOlderThan();
486  virtual int getClearActionsLogsOlderThanDays();
487  virtual bool getClearActionsLogsExceeds();
488  virtual int getClearActionsLogsExceedsMB();
489  virtual int getPythonLogMode();
490  virtual bool getActionsLogsGzip();
491 
492  virtual void setAutoClear(bool state);
493  virtual void setAutoClearLimit(int limit);
494  virtual void setLogSystemEvents(bool state);
495  virtual void setLogUsersEvents(bool state);
496  virtual void setLogClientsEvents(bool state);
497  virtual void setLogClientsErrorsEvents(bool state);
498  virtual void setLogCommandLine(bool state);
499  virtual void setLogReturnCodes(bool state);
500  virtual void setActivityLogsFolder(const std::string& folderPath);
501  virtual void setClearActivityLogsOlderThan(bool state);
502  virtual void setClearActivityLogsOlderThanDays(int days);
503  virtual void setClearActivityLogsExceeds(bool state);
504  virtual void setClearActivityLogsExceedsMB(int megabytes);
505  virtual void setActivityLogsSeverity(int severity);
506  virtual void setActivityLogsGzip(bool state);
507 
508  virtual void setActionsLogsFolder(const std::string& folderPath);
509  virtual void setClearActionsLogsOlderThan(bool state);
510  virtual void setClearActionsLogsOlderThanDays(int days);
511  virtual void setClearActionsLogsExceeds(bool state);
512  virtual void setClearActionsLogsExceedsMB(int megabytes);
513  virtual void setActionsLogsGzip(bool state);
514 
515  virtual void setPythonLogMode(int mode);
516  };
517 
529  class MCLIENTLIB_API MDispatcherConfigurationNotificator {
530  private:
531 
532  bool notifyTargetEmail;
533  bool notifyMailEngineStatusChanges;
534  bool notifyMailSoftRestarts;
535  bool notifyMailConfigsChanges;
536  bool notifyMailExclusions;
537  bool notifyMailJobsStarts;
538  bool notifyMailJobsCompletion;
539  bool notifyMailChunksStarts;
540  bool notifyMailChunksCompletion;
541  bool enableAdditionalEmailAddress;
542  std::string additionalEmailAddress;
543  int jobMailCompletionType;
544  int chunkMailCompletionType;
545  bool sendMailLog;
546  int sendMailLogResolution;
547 
548  bool notifyTargetNotificator;
549  bool notifyNotificatorEngineStatusChanges;
550  bool notifyNotificatorSoftRestarts;
551  bool notifyNotificatorConfigsChanges;
552  bool notifyNotificatorExclusions;
553  bool notifyNotificatorJobsStarts;
554  bool notifyNotificatorJobsCompletion;
555  bool notifyNotificatorChunksStarts;
556  bool notifyNotificatorChunksCompletion;
557  int jobNotificatorCompletionType;
558  int chunkNotificatorCompletionType;
559 
560  bool notifyTargetMobile;
561  bool notifyMobileEngineStatusChanges;
562  bool notifyMobileSoftRestarts;
563  bool notifyMobileConfigsChanges;
564  bool notifyMobileExclusions;
565  bool notifyMobileJobsStarts;
566  bool notifyMobileJobsCompletion;
567  bool notifyMobileChunksStarts;
568  bool notifyMobileChunksCompletion;
569  int jobMobileCompletionType;
570  int chunkMobileCompletionType;
571 
572 
573  public:
577  virtual bool getNotifyTargetEmail();
578  virtual bool getNotifyMailEngineStatusChanges();
579  virtual bool getNotifyMailSoftRestarts();
580  virtual bool getNotifyMailConfigsChanges();
581  virtual bool getNotifyMailExclusions();
582  virtual bool getNotifyMailJobsStarts();
583  virtual bool getNotifyMailJobsCompletion();
584  virtual bool getNotifyMailChunksStarts();
585  virtual bool getNotifyMailChunksCompletion();
586  virtual bool getNotifyEnableAdditionalEmailAddress();
587  virtual std::string getNotifyAdditionalEmailAddress();
588  virtual int getNotifyJobMailCompletionType();
589  virtual int getNotifyChunkMailCompletionType();
590  virtual bool getNotifySendMailLog();
591  virtual int getNotifySendMailLogResolution();
592  virtual bool getNotifyTargetNotificator();
593  virtual bool getNotifyNotificatorEngineStatusChanges();
594  virtual bool getNotifyNotificatorSoftRestarts();
595  virtual bool getNotifyNotificatorConfigsChanges();
596  virtual bool getNotifyNotificatorExclusions();
597  virtual bool getNotifyNotificatorJobsStarts();
598  virtual bool getNotifyNotificatorJobsCompletion();
599  virtual bool getNotifyNotificatorChunksStarts();
600  virtual bool getNotifyNotificatorChunksCompletion();
601  virtual int getNotifyJobNotificatorCompletionType();
602  virtual int getNotifyChunkNotificatorCompletionType();
603  virtual bool getNotifyTargetMobile();
604  virtual bool getNotifyMobileEngineStatusChanges();
605  virtual bool getNotifyMobileSoftRestarts();
606  virtual bool getNotifyMobileConfigsChanges();
607  virtual bool getNotifyMobileExclusions();
608  virtual bool getNotifyMobileJobsStarts();
609  virtual bool getNotifyMobileJobsCompletion();
610  virtual bool getNotifyMobileChunksStarts();
611  virtual bool getNotifyMobileChunksCompletion();
612  virtual int getNotifyJobMobileCompletionType();
613  virtual int getNotifyChunkMobileCompletionType();
614 
615  virtual void setNotifyTargetEmail(bool state);
616  virtual void setNotifyMailEngineStatusChanges(bool state);
617  virtual void setNotifyMailSoftRestarts(bool state);
618  virtual void setNotifyMailConfigsChanges(bool state);
619  virtual void setNotifyMailExclusions(bool state);
620  virtual void setNotifyMailJobsStarts(bool state);
621  virtual void setNotifyMailJobsCompletion(bool state);
622  virtual void setNotifyMailChunksStarts(bool state);
623  virtual void setNotifyMailChunksCompletion(bool state);
624  virtual void setNotifyAdditionalEmailAddress(std::string emailAddress);
625  virtual void setNotifyEnableAdditionalEmailAddress(bool state);
626  virtual void setNotifyJobMailCompletionType(int completionType);
627  virtual void setNotifyChunkMailCompletionType(int completionType);
628  virtual void setNotifySendMailLog(bool state);
629  virtual void setNotifySendMailLogResolution(int resolution);
630  virtual void setNotifyTargetNotificator(bool state);
631  virtual void setNotifyNotificatorEngineStatusChanges(bool state);
632  virtual void setNotifyNotificatorSoftRestarts(bool state);
633  virtual void setNotifyNotificatorConfigsChanges(bool state);
634  virtual void setNotifyNotificatorExclusions(bool state);
635  virtual void setNotifyNotificatorJobsStarts(bool state);
636  virtual void setNotifyNotificatorJobsCompletion(bool state);
637  virtual void setNotifyNotificatorChunksStarts(bool state);
638  virtual void setNotifyNotificatorChunksCompletion(bool state);
639  virtual void setNotifyJobNotificatorCompletionType(int completionType);
640  virtual void setNotifyChunkNotificatorCompletionType(int completionType);
641  virtual void setNotifyTargetMobile(bool state);
642  virtual void setNotifyMobileEngineStatusChanges(bool state);
643  virtual void setNotifyMobileSoftRestarts(bool state);
644  virtual void setNotifyMobileConfigsChanges(bool state);
645  virtual void setNotifyMobileExclusions(bool state);
646  virtual void setNotifyMobileJobsStarts(bool state);
647  virtual void setNotifyMobileJobsCompletion(bool state);
648  virtual void setNotifyMobileChunksStarts(bool state);
649  virtual void setNotifyMobileChunksCompletion(bool state);
650  virtual void setNotifyJobMobileCompletionType(int completionType);
651  virtual void setNotifyChunkMobileCompletionType(int completionType);
652 
653  };
654 
666  class MCLIENTLIB_API MDispatcherConfigurationMailer {
667  private:
668  std::string smtpServer;
669  std::string smtpAccount;
670  bool smtpAuth;
671  std::string smtpAuthLogin;
672  std::string smtpAuthPassword;
673  int smtpPort;
674  int encryptionMode;
675 
676  public:
678  virtual ~MDispatcherConfigurationMailer();
680  virtual std::string getSmtpServer();
681  virtual int getSmtpPort();
682  virtual std::string getSmtpAccount();
683  virtual bool getSmtpAuth();
684  virtual std::string getSmtpAuthLogin();
685  virtual std::string getSmtpAuthPassword();
686  virtual int getEncryptionMode();
687 
688  virtual void setSmtpServer(const std::string& smtpServer);
689  virtual void setSmtpPort(int port);
690  virtual void setSmtpAccount(const std::string& smtpAccount);
691  virtual void setSmtpAuth(bool enableAuthentication);
692  virtual void setSmtpAuthLogin(const std::string& authenticationLogin);
693  virtual void setSmtpAuthPassword(const std::string& authenticationPassword);
694  virtual void setEncryptionMode(int encryptionMode);
695  };
696 
708  class MCLIENTLIB_API MDispatcherConfigurationNetwork {
709  private:
710  int clientPort;
711  int controlPort;
712  int notifyPort;
713  bool enableKeepAlive;
714  int keepAliveResolution;
715 
716  int controlIncomingBuffer;
717  int controlOutgoingBuffer;
718  int clientIncomingBuffer;
719  int clientOutgoingBuffer;
720  int notificatorOutgoingBuffer;
721 
722  bool broadcastStatistics;
723  int broadcastStatisticsResolution;
724  int statisticsSampleResolution;
725 
726  int wakeupOnLanDelay;
727  int wakeupOnLanMaximumAttempts;
728  int wakeupOnLanWarmup;
729 
730  std::string notifyBindingAddress;
731  std::string managementBindingAddress;
732  std::string nodesBindingAddress;
733 
734  public:
738  virtual int getClientPort();
739  virtual int getControlPort();
740  virtual int getNotifyPort();
741  virtual bool getEnableKeepAlive();
742  virtual int getKeepAliveResolution();
743  virtual int getControlIncomingBuffer();
744  virtual int getControlOutgoingBuffer();
745  virtual int getClientIncomingBuffer();
746  virtual int getClientOutgoingBuffer();
747  virtual int getNotificatorOutgoingBuffer();
748  virtual bool getBroadcastStatistics();
749  virtual int getBroadcastStatisticsResolution();
750  virtual int getStatisticsSampleResolution();
751  virtual int getWakeupOnLanDelay();
752  virtual int getWakeupOnLanMaximumAttempts();
753  virtual int getWakeupOnLanWarmup();
754  virtual std::string getNotifyBindingAddress();
755  virtual std::string getManagementBindingAddress();
756  virtual std::string getNodesBindingAddress();
757 
758  virtual void setClientPort(int port);
759  virtual void setControlPort(int port);
760  virtual void setNotifyPort(int port);
761  virtual void setEnableKeepAlive(bool state);
762  virtual void setKeepAliveResolution(int seconds);
763  virtual void setControlIncomingBuffer(int bufferSize);
764  virtual void setControlOutgoingBuffer(int bufferSize);
765  virtual void setClientIncomingBuffer(int bufferSize);
766  virtual void setClientOutgoingBuffer(int bufferSize);
767  virtual void setNotificatorOutgoingBuffer(int bufferSize);
768  virtual void setBroadcastStatistics(bool state);
769  virtual void setBroadcastStatisticsResolution(int seconds);
770  virtual void setStatisticsSampleResolution(int seconds);
771  virtual void setWakeupOnLanDelay(int seconds);
772  virtual void setWakeupOnLanMaximumAttempts(int numOfAttempts);
773  virtual void setWakeupOnLanWarmup(int seconds);
774  virtual void setNotifyBindingAddress(const std::string& bindAddress);
775  virtual void setManagementBindingAddress(const std::string& bindAddress);
776  virtual void setNodesBindingAddress(const std::string& bindAddress);
777  };
778 
790  class MCLIENTLIB_API MDispatcherConfigurationWebserver {
791  private:
792  int httpPort;
793  int httpsPort;
794  int maximumBandwidth;
795  int socketTimeout;
796  int defaultServingThreads;
797  int maximumServingThreads;
798  int maximumPendingConnections;
799  bool enableCompression;
800  int sessionTimeout;
801  int sessionExpireTimeout;
802  int cgiTimeout;
803  long long int maximumRequestSize;
804  std::vector<std::pair<std::string,std::string> > mimeTypes;
805  std::string webBindingAddress;
806 
807  public:
811  virtual int getHttpPort();
812  virtual int getHttpsPort();
813  virtual int getMaximumBandwidth();
814  virtual int getSocketTimeout();
815  virtual int getDefaultServingThreads();
816  virtual int getMaximumServingThreads();
817  virtual int getMaximumPendingConnections();
818  virtual bool getEnableCompression();
819  virtual int getSessionTimeout();
820  virtual int getSessionExpireTimeout();
821  virtual int getCgiTimeout();
822  virtual long long int getMaximumRequestSize();
823  virtual std::vector<std::pair<std::string,std::string> > getMimeTypes();
824  virtual std::string getWebBindingAddress();
825 
826  virtual void setHttpPort(int port);
827  virtual void setHttpsPort(int port);
828  virtual void setMaximumBandwidth(int maximumBandwidth);
829  virtual void setSocketTimeout(int timeout);
830  virtual void setDefaultServingThreads(int numOfThreads);
831  virtual void setMaximumServingThreads(int numOfThreads);
832  virtual void setMaximumPendingConnections(int numOfConnections);
833  virtual void setEnableCompression(bool state);
834  virtual void setSessionTimeout(int seconds);
835  virtual void setSessionExpireTimeout(int seconds);
836  virtual void setCgiTimeout(int seconds);
837  virtual void setMaximumRequestSize(long long int requestSize);
838  virtual void setMimeTypes(std::vector<std::pair<std::string,std::string> >& mimeTypes);
839  virtual void setWebBindingAddress(const std::string& bindingAddress);
841  };
842 
854  class MCLIENTLIB_API MDispatcherConfigurationFaults {
855  private:
856  bool enableLogWarning;
857  bool logWarningPauseJob;
858  bool logWarningPauseNode;
859  bool logWarningKillAnyInstance;
860  bool logWarningAddTemplateToExclusion;
861  bool logWarningAddJobToExclusion;
862  bool logWarningRequeueChunk;
863  bool logWarningIncreaseRequeue;
864 
865  bool enableLogError;
866  bool logErrorPauseJob;
867  bool logErrorPauseNode;
868  bool logErrorKillAnyInstance;
869  bool logErrorAddTemplateToExclusion;
870  bool logErrorAddJobToExclusion;
871  bool logErrorRequeueChunk;
872  bool logErrorIncreaseRequeue;
873 
874  bool enableExitCodeWarning;
875  bool exitCodeWarningPauseJob;
876  bool exitCodeWarningKillAnyInstance;
877  bool exitCodeWarningPauseNode;
878  bool exitCodeWarningAddTemplateToExclusion;
879  bool exitCodeWarningAddJobToExclusion;
880  bool exitCodeWarningRequeueChunk;
881  bool exitCodeWarningIncreaseRequeue;
882 
883  bool enableExitCodeError;
884  bool exitCodeErrorPauseJob;
885  bool exitCodeErrorPauseNode;
886  bool exitCodeErrorKillAnyInstance;
887  bool exitCodeErrorAddTemplateToExclusion;
888  bool exitCodeErrorAddJobToExclusion;
889  bool exitCodeErrorRequeueChunk;
890  bool exitCodeErrorIncreaseRequeue;
891 
892  bool processPauseJob;
893  bool processPauseNode;
894  bool processAddTemplateToExclusion;
895  bool processAddJobToExclusion;
896  bool processRequeueChunk;
897  bool processIncreaseRequeue;
898 
899  bool timeoutPauseJob;
900  bool timeoutPauseNode;
901  bool timeoutAddTemplateToExclusion;
902  bool timeoutAddJobToExclusion;
903  bool timeoutKillAnyClient;
904  bool timeoutIncreaseRequeue;
905 
906  public:
908  virtual ~MDispatcherConfigurationFaults();
910  virtual bool getEnableLogWarning();
911  virtual bool getLogWarningPauseJob();
912  virtual bool getLogWarningPauseNode();
913  virtual bool getLogWarningKillAnyInstance();
914  virtual bool getLogWarningAddTemplateToExclusion();
915  virtual bool getLogWarningAddJobToExclusion();
916  virtual bool getLogWarningRequeueChunk();
917  virtual bool getLogWarningIncreaseRequeue();
918 
919  virtual bool getEnableLogError();
920  virtual bool getLogErrorPauseJob();
921  virtual bool getLogErrorPauseNode();
922  virtual bool getLogErrorKillAnyInstance();
923  virtual bool getLogErrorAddTemplateToExclusion();
924  virtual bool getLogErrorAddJobToExclusion();
925  virtual bool getLogErrorRequeueChunk();
926  virtual bool getLogErrorIncreaseRequeue();
927 
928  virtual bool getEnableExitCodeWarning();
929  virtual bool getExitCodeWarningPauseJob();
930  virtual bool getExitCodeWarningPauseNode();
931  virtual bool getExitCodeWarningKillAnyInstance();
932  virtual bool getExitCodeWarningAddTemplateToExclusion();
933  virtual bool getExitCodeWarningAddJobToExclusion();
934  virtual bool getExitCodeWarningRequeueChunk();
935  virtual bool getExitCodeWarningIncreaseRequeue();
936 
937  virtual bool getEnableExitCodeError();
938  virtual bool getExitCodeErrorPauseJob();
939  virtual bool getExitCodeErrorPauseNode();
940  virtual bool getExitCodeErrorKillAnyInstance();
941  virtual bool getExitCodeErrorAddTemplateToExclusion();
942  virtual bool getExitCodeErrorAddJobToExclusion();
943  virtual bool getExitCodeErrorRequeueChunk();
944  virtual bool getExitCodeErrorIncreaseRequeue();
945 
946  virtual bool getProcessPauseJob();
947  virtual bool getProcessPauseNode();
948  virtual bool getProcessAddTemplateToExclusion();
949  virtual bool getProcessAddJobToExclusion();
950  virtual bool getProcessRequeueChunk();
951  virtual bool getProcessIncreaseRequeue();
952 
953  virtual bool getTimeoutPauseJob();
954  virtual bool getTimeoutPauseNode();
955  virtual bool getTimeoutAddTemplateToExclusion();
956  virtual bool getTimeoutAddJobToExclusion();
957  virtual bool getTimeoutKillAnyClient();
958  virtual bool getTimeoutIncreaseRequeue();
959 
960  virtual void setEnableLogWarning(bool);
961  virtual void setLogWarningPauseJob(bool);
962  virtual void setLogWarningPauseNode(bool);
963  virtual void setLogWarningKillAnyInstance(bool);
964  virtual void setLogWarningAddTemplateToExclusion(bool);
965  virtual void setLogWarningAddJobToExclusion(bool);
966  virtual void setLogWarningRequeueChunk(bool);
967  virtual void setLogWarningIncreaseRequeue(bool);
968 
969  virtual void setEnableLogError(bool);
970  virtual void setLogErrorPauseJob(bool);
971  virtual void setLogErrorPauseNode(bool);
972  virtual void setLogErrorKillAnyInstance(bool);
973  virtual void setLogErrorAddTemplateToExclusion(bool);
974  virtual void setLogErrorAddJobToExclusion(bool);
975  virtual void setLogErrorRequeueChunk(bool);
976  virtual void setLogErrorIncreaseRequeue(bool);
977 
978  virtual void setEnableExitCodeWarning(bool);
979  virtual void setExitCodeWarningPauseJob(bool);
980  virtual void setExitCodeWarningPauseNode(bool);
981  virtual void setExitCodeWarningKillAnyInstance(bool);
982  virtual void setExitCodeWarningAddTemplateToExclusion(bool);
983  virtual void setExitCodeWarningAddJobToExclusion(bool);
984  virtual void setExitCodeWarningRequeueChunk(bool);
985  virtual void setExitCodeWarningIncreaseRequeue(bool);
986 
987  virtual void setEnableExitCodeError(bool);
988  virtual void setExitCodeErrorPauseJob(bool);
989  virtual void setExitCodeErrorPauseNode(bool);
990  virtual void setExitCodeErrorKillAnyInstance(bool);
991  virtual void setExitCodeErrorAddTemplateToExclusion(bool);
992  virtual void setExitCodeErrorAddJobToExclusion(bool);
993  virtual void setExitCodeErrorRequeueChunk(bool);
994  virtual void setExitCodeErrorIncreaseRequeue(bool);
995 
996  virtual void setProcessPauseJob(bool);
997  virtual void setProcessPauseNode(bool);
998  virtual void setProcessAddTemplateToExclusion(bool);
999  virtual void setProcessAddJobToExclusion(bool);
1000  virtual void setProcessRequeueChunk(bool);
1001  virtual void setProcessIncreaseRequeue(bool);
1002 
1003  virtual void setTimeoutPauseJob(bool);
1004  virtual void setTimeoutPauseNode(bool);
1005  virtual void setTimeoutAddTemplateToExclusion(bool);
1006  virtual void setTimeoutAddJobToExclusion(bool);
1007  virtual void setTimeoutKillAnyClient(bool);
1008  virtual void setTimeoutIncreaseRequeue(bool);
1009 
1010  };
1011 
1023  class MCLIENTLIB_API MDispatcherConfigurationActions {
1024  private:
1025  int actionTimeout;
1026  bool jobFailurePauseJob;
1027  bool jobFailureLockJob;
1028  bool chunkFailureAddJobToExclusion;
1029  bool chunkFailureAddTemplateToExclusion;
1030  bool chunkFailureRequeueChunk;
1031  bool chunkFailureAbortProcessing;
1032  bool chunkFailureIncreaseRequeue;
1033  bool addMusterCustomEnvironmentToActions;
1034 
1035  bool preJobActionEnabled;
1036  std::string preJobAction;
1037  bool preJobActionCheckReturnCode;
1038  int preJobActionReturnCode;
1039  bool preJobActionOverrideTimeout;
1040  int preJobActionTimeout;
1041 
1042  bool postJobActionEnabled;
1043  std::string postJobAction;
1044  bool postJobActionCheckReturnCode;
1045  int postJobActionReturnCode;
1046  bool postJobActionOverrideTimeout;
1047  int postJobActionTimeout;
1048 
1049  bool preChunkActionEnabled;
1050  std::string preChunkAction;
1051  bool preChunkActionCheckReturnCode;
1052  int preChunkActionReturnCode;
1053  bool preChunkActionOverrideTimeout;
1054  int preChunkActionTimeout;
1055 
1056  bool postChunkActionEnabled;
1057  std::string postChunkAction;
1058  bool postChunkActionCheckReturnCode;
1059  int postChunkActionReturnCode;
1060  bool postChunkActionOverrideTimeout;
1061  int postChunkActionTimeout;
1062 
1063  public:
1065  virtual ~MDispatcherConfigurationActions();
1067  virtual int getActionTimeout();
1068  virtual bool getJobFailurePauseJob();
1069  virtual bool getJobFailureLockJob();
1070  virtual bool getChunkFailureAddJobToExclusion();
1071  virtual bool getChunkFailureAddTemplateToExclusion();
1072  virtual bool getChunkFailureRequeueChunk();
1073  virtual bool getChunkFailureAbortProcessing();
1074  virtual bool getChunkFailureIncreaseRequeue();
1075  virtual bool getAddMusterCustomEnvironmentToActions();
1076 
1077  virtual bool getPreJobActionEnabled();
1078  virtual std::string getPreJobAction();
1079  virtual bool getPreJobActionCheckReturnCode();
1080  virtual int getPreJobActionReturnCode();
1081  virtual bool getPreJobActionOverrideTimeout();
1082  virtual int getPreJobActionTimeout();
1083 
1084  virtual bool getPostJobActionEnabled();
1085  virtual std::string getPostJobAction();
1086  virtual bool getPostJobActionCheckReturnCode();
1087  virtual int getPostJobActionReturnCode();
1088  virtual bool getPostJobActionOverrideTimeout();
1089  virtual int getPostJobActionTimeout();
1090 
1091  virtual bool getPreChunkActionEnabled();
1092  virtual std::string getPreChunkAction();
1093  virtual bool getPreChunkActionCheckReturnCode();
1094  virtual int getPreChunkActionReturnCode();
1095  virtual bool getPreChunkActionOverrideTimeout();
1096  virtual int getPreChunkActionTimeout();
1097 
1098  virtual bool getPostChunkActionEnabled();
1099  virtual std::string getPostChunkAction();
1100  virtual bool getPostChunkActionCheckReturnCode();
1101  virtual int getPostChunkActionReturnCode();
1102  virtual bool getPostChunkActionOverrideTimeout();
1103  virtual int getPostChunkActionTimeout();
1104 
1105  virtual void setActionTimeout(int);
1106  virtual void setJobFailurePauseJob(bool);
1107  virtual void setJobFailureLockJob(bool);
1108  virtual void setChunkFailureAddJobToExclusion(bool);
1109  virtual void setChunkFailureAddTemplateToExclusion(bool);
1110  virtual void setChunkFailureRequeueChunk(bool);
1111  virtual void setChunkFailureAbortProcessing(bool);
1112  virtual void setChunkFailureIncreaseRequeue(bool);
1113  virtual void setAddMusterCustomEnvironmentToActions(bool);
1114 
1115  virtual void setPreJobActionEnabled(bool);
1116  virtual void setPreJobAction(std::string);
1117  virtual void setPreJobActionCheckReturnCode(bool);
1118  virtual void setPreJobActionReturnCode(int);
1119  virtual void setPreJobActionOverrideTimeout(bool);
1120  virtual void setPreJobActionTimeout(int);
1121 
1122  virtual void setPostJobActionEnabled(bool);
1123  virtual void setPostJobAction(std::string);
1124  virtual void setPostJobActionCheckReturnCode(bool);
1125  virtual void setPostJobActionReturnCode(int);
1126  virtual void setPostJobActionOverrideTimeout(bool);
1127  virtual void setPostJobActionTimeout(int);
1128 
1129  virtual void setPreChunkActionEnabled(bool);
1130  virtual void setPreChunkAction(std::string);
1131  virtual void setPreChunkActionCheckReturnCode(bool);
1132  virtual void setPreChunkActionReturnCode(int);
1133  virtual void setPreChunkActionOverrideTimeout(bool);
1134  virtual void setPreChunkActionTimeout(int);
1135 
1136  virtual void setPostChunkActionEnabled(bool);
1137  virtual void setPostChunkAction(std::string);
1138  virtual void setPostChunkActionCheckReturnCode(bool);
1139  virtual void setPostChunkActionReturnCode(int);
1140  virtual void setPostChunkActionOverrideTimeout(bool);
1141  virtual void setPostChunkActionTimeout(int);
1142 
1143 
1144  };
1145 
1157  class MCLIENTLIB_API MDispatcherConfiguration {
1158  public:
1161  void operator=(const MDispatcherConfiguration &c );
1162  virtual ~MDispatcherConfiguration();
1176  MDispatcherConfigurationLicensing* licensing;
1177  virtual bool Unmarshall(const std::vector<std::string>& items);
1178  virtual std::string Marshall();
1180  };
1181 
1194  class MCLIENTLIB_API MDispatcherConfigurationLDAP {
1195  private:
1196 
1197  bool enableBindings;
1198  int serverType;
1199  int encryptionType;
1200  std::string serverAddress;
1201  int serverPort;
1202  std::string baseDN;
1203  std::string groupsBaseDN;
1204  std::string bindDN;
1205  std::string bindUsername;
1206  std::string bindPassword;
1207  bool updateAutomatically;
1208  int updateResolution;
1209 
1210  std::string userLDAPAttribute;
1211  std::string userLDAPFilter;
1212  std::string userADAttribute;
1213  std::string userADFilter;
1214  std::string groupLDAPAttribute;
1215  std::string groupLDAPFilter;
1216  std::string groupADAttribute;
1217  std::string groupADFilter;
1218  std::string userADGroupAttribute;
1219  std::string userLDAPGroupAttribute;
1220  std::string userADEmailAttribute;
1221  std::string userLDAPEmailAttribute;
1222  public:
1224  virtual ~MDispatcherConfigurationLDAP();
1226  virtual bool getEnableBindings();
1227  virtual int getServerType();
1228  virtual int getEncryptionType();
1229  virtual std::string getServerAddress();
1230  virtual int getServerPort();
1231  virtual std::string getBaseDN();
1232  virtual std::string getGroupsBaseDN();
1233  virtual std::string getBindDN();
1234  virtual std::string getBindUsername();
1235  virtual std::string getBindPassword();
1236  virtual bool getUpdateAutomatically();
1237  virtual int getUpdateResolution();
1238 
1239  virtual std::string getUserLDAPAttribute();
1240  virtual std::string getUserLDAPFilter();
1241  virtual std::string getUserADAttribute();
1242  virtual std::string getUserADFilter();
1243  virtual std::string getGroupLDAPAttribute();
1244  virtual std::string getGroupLDAPFilter();
1245  virtual std::string getGroupADAttribute();
1246  virtual std::string getGroupADFilter();
1247  virtual std::string getUserADGroupAttribute();
1248  virtual std::string getUserLDAPGroupAttribute();
1249  virtual std::string getUserADEmailAttribute();
1250  virtual std::string getUserLDAPEmailAttribute();
1251 
1252  virtual void setEnableBindings(bool);
1253  virtual void setServerType(int);
1254  virtual void setEncryptionType(int);
1255  virtual void setServerAddress(const std::string&);
1256  virtual void setServerPort(int);
1257  virtual void setBaseDN(const std::string&);
1258  virtual void setGroupsBaseDN(const std::string&);
1259  virtual void setBindDN(const std::string&);
1260  virtual void setBindUsername(const std::string&);
1261  virtual void setBindPassword(const std::string&);
1262  virtual void setUpdateAutomatically(bool);
1263  virtual void setUpdateResolution(int);
1264 
1265  virtual void setUserLDAPAttribute(const std::string&);
1266  virtual void setUserLDAPFilter(const std::string&);
1267  virtual void setUserADAttribute(const std::string&);
1268  virtual void setUserADFilter(const std::string&);
1269  virtual void setGroupLDAPAttribute(const std::string&);
1270  virtual void setGroupLDAPFilter(const std::string&);
1271  virtual void setGroupADAttribute(const std::string&);
1272  virtual void setGroupADFilter(const std::string&);
1273  virtual void setUserADGroupAttribute(const std::string&);
1274  virtual void setUserLDAPGroupAttribute(const std::string&);
1275  virtual void setUserADEmailAttribute(const std::string&);
1276  virtual void setUserLDAPEmailAttribute(const std::string&);
1278  virtual bool Unmarshall(const std::vector<std::string>& items);
1279  virtual std::string Marshall();
1284  };
1285 }
1286 
1287 #endif
MDispatcherConfigurationNetwork * network
MDispatcherConfigurationGeneral * general
MDispatcherConfigurationLogs * logs
Class holding a Dispatcher actions section configuration.
kLicenseStatus
Enumeratation holding the current Dispatcher licensing status.
MDispatcherConfigurationMailer * mailer
MDispatcherConfigurationNotificator * notifications
Class holding a Dispatcher logs section configuration.
Class holding a Dispatcher database section configuration.
Class holding a Dispatcher network section configuration.
Class holding a Windows static drive mapping entry.
Definition: MDriveMap.h:62
MDispatcherConfigurationActions * actions
MDispatcherConfigurationFaults * faults
MDispatcherConfigurationTuning * tuning
Class holding a Dispatcher web server section configuration.
Class holding a Dispatcher notificator section configuration.
MDispatcherConfigurationWebserver * webserver
Class holding a Dispatcher LDAP configuration.
Class holding a Dispatcher configuration.
MDispatcherConfigurationBehaviours * behaviours
MDispatcherConfigurationDatabase * database
kJobsPriorityMode
Enumeration holding the priority calculation mode used in getFoldersPriorityMode() and setFoldersPrio...
Class holding a Dispatcher general section configuration.
Class holding a Dispatcher mailer section configuration.
Class holding a Dispatcher general section configuration.
Class holding a Dispatcher behaviours section configuration.
Class holding a Dispatcher faults section configuration.