Muster SDK  8.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
MNodeConfiguration.h
Go to the documentation of this file.
1 /*****************************************************************************
2  **
3  ** Header file for Muster API node configuration object
4  **
5  ** Name : MNodeConfiguration.h
6  ** Author : Leonardo Bernardini
7  ** Version : 1.0, Sat Mar 2nd 2013
8  **
9  ** Copyright 2000-2014, 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 MNODECONFIGURATION_H
19 #define MNODECONFIGURATION_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/MError.h>
46 #include <MClientLib/MDriveMap.h>
47 #include <MClientLib/MTimeRule.h>
50 #include <MClientLib/MRepository.h>
51 #include <MClientLib/MStringRef.h>
52 
53 #include <map>
54 
55 namespace MClientLib {
56 
61  private:
62  std::string managementBindingAddress;
63  int garbageCollectorTTL;
64  int idlingScriptingTime;
65  int poolingEvents;
66 
67  public:
69  virtual ~MNodeConfigurationTuning();
70  virtual int getIdlingScriptingTime();
71  virtual std::string getManagementBindingAddress();
72  virtual int getGarbageCollectorTTL();
73  virtual int getPoolingEvents();
74 
75  virtual void setIdlingScriptingTime(int);
76  virtual void setManagementBindingAddress(const std::string&);
77  virtual void setGarbageCollectorTTL(int);
78  virtual void setPoolingEvents(int) ;
79 
80  };
81 
83  private:
84  int numberOfInstances;
85  int defaultNodePriority;
86  std::vector<MClientLib::MPriorityOverride> prioritiesOverrides;
87  bool startPaused;
88  int defaultProcessPriority;
89  int processesStartTimeout;
90  bool killActivityOnConnectionDrop;
91  bool changePriorityOnProcessTree;
92  bool terminateProcessesTrees;
93  bool suppressErrorChecking;
94  public:
96  virtual ~MNodeConfigurationBehaviours();
97  virtual int getNumberOfInstances();
98  virtual int getDefaultNodePriority();
99  virtual std::vector<MClientLib::MPriorityOverride> getPrioritiesOverrides();
100  virtual bool getStartPaused();
101  virtual int getDefaultProcessPriority();
102  virtual int getProcessesStartTimeout();
103  virtual bool getKillActivityOnConnectionDrop();
104  virtual bool getChangePriorityOnProcessTree();
105  virtual bool getTerminateProcessesTrees();
106  virtual bool getSuppressErrorChecking();
107 
108  virtual void setNumberOfInstances(int);
109  virtual void setDefaultNodePriority(int);
110  virtual void setPrioritiesOverrides(const std::vector<MClientLib::MPriorityOverride>& );
111  virtual void setStartPaused(bool);
112  virtual void setDefaultProcessPriority(int);
113  virtual void setProcessesStartTimeout(int);
114  virtual void setKillActivityOnConnectionDrop(bool);
115  virtual void setChangePriorityOnProcessTree(bool);
116  virtual void setTerminateProcessesTrees(bool);
117  virtual void setSuppressErrorChecking(bool);
118 
119  };
120 
125  private:
126  std::string processesLogsFolder;
127  int activityLogsSeverity;
128  std::string activityLogsFolder;
129  bool clearActivityLogsOlderThan;
130  int clearActivityLogsOlderThanDays;
131  bool clearActivityLogsExceeds;
132  int clearActivityLogsExceedsMB;
133  bool clearProcessesLogsOlderThan;
134  int clearProcessesLogsOlderThanDays;
135  bool clearProcessesLogsExceeds;
136  int clearProcessesLogsExceedsMB;
137  bool rescanLogFileSystem;
138  int rescanLogFileSystemSeconds;
139  int pythonLogMode;
140 
141  public:
143  virtual ~MNodeConfigurationLogs();
144  virtual std::string getProcessesLogsFolder();
145  virtual int getActivityLogsSeverity();
146  virtual std::string getActivityLogsFolder();
147  virtual bool getClearActivityLogsOlderThan();
148  virtual int getClearActivityLogsOlderThanDays();
149  virtual bool getClearActivityLogsExceeds();
150  virtual int getClearActivityLogsExceedsMB();
151  virtual bool getClearProcessesLogsOlderThan();
152  virtual int getClearProcessesLogsOlderThanDays();
153  virtual bool getClearProcessesLogsExceeds();
154  virtual int getClearProcessesLogsExceedsMB();
155  virtual bool getRescanLogFileSystem();
156  virtual int getRescanLogFileSystemSeconds();
157  virtual int getPythonLogMode();
158 
159  virtual void setProcessesLogsFolder(const std::string&);
160  virtual void setActivityLogsSeverity(int);
161  virtual void setActivityLogsFolder(const std::string&);
162  virtual void setClearActivityLogsOlderThan(bool);
163  virtual void setClearActivityLogsOlderThanDays(int);
164  virtual void setClearActivityLogsExceeds(bool);
165  virtual void setClearActivityLogsExceedsMB(int);
166  virtual void setClearProcessesLogsOlderThan(bool);
167  virtual void setClearProcessesLogsOlderThanDays(int);
168  virtual void setClearProcessesLogsExceeds(bool);
169  virtual void setClearProcessesLogsExceedsMB(int);
170  virtual void setRescanLogFileSystem(bool);
171  virtual void setRescanLogFileSystemSeconds(int);
172  virtual void setPythonLogMode(int);
173  };
174 
179  private:
180 
181  std::string dispatcherAddress;
182  int dispatcherPort;
183  int connectionResolution;
184  int managementPort;
185  bool enableHeartbeat;
186  int enableHeartbeatResolution;
187  bool broadcastPresence;
188  int broadcastResolution;
189  int usageResolution;
190  bool protectedManagement;
191  std::string managementPassword;
192  std::string impersonationUsername;
193  std::string impersonationPassword;
194  bool impersonationUseShell;
195  std::string hostName;
196 
197  public:
199  virtual ~MNodeConfigurationNetwork();
200  virtual std::string getDispatcherAddress();
201  virtual int getDispatcherPort();
202  virtual int getConnectionResolution();
203  virtual int getManagementPort();
204  virtual bool getEnableHeartbeat();
205  virtual int getEnableHeartbeatResolution();
206  virtual bool getBroadcastPresence();
207  virtual int getUsageResolution();
208  virtual void setUsageResolution(int);
209  virtual int getBroadcastResolution();
210  virtual bool getProtectedManagement();
211  virtual std::string getManagementPassword();
212  virtual std::string getImpersonationUsername();
213  virtual std::string getImpersonationPassword();
214  virtual bool getImpersonationUseShell();
215  virtual std::string getHostName();
216 
217  virtual void setDispatcherAddress(const std::string&);
218  virtual void setDispatcherPort(int);
219  virtual void setConnectionResolution(int);
220  virtual void setManagementPort(int);
221  virtual void setEnableHeartbeat(bool);
222  virtual void setEnableHeartbeatResolution(int);
223  virtual void setBroadcastPresence(bool);
224  virtual void setBroadcastResolution(int);
225  virtual void setProtectedManagement(bool);
226  virtual void setManagementPassword(const std::string&);
227  virtual void setImpersonationUsername(const std::string&);
228  virtual void setImpersonationPassword(const std::string&);
229  virtual void setImpersonationUseShell(bool);
230  virtual void setHostName(const std::string&);
231 
232 
233  };
234 
239  private:
240  bool enableNTAutomapping;
241  int automappingDisconnectionPolicy;
242  std::vector<MClientLib::MDriveMap> driveMappings;
243  std::string localSubstitutions;
244  public:
247  virtual bool getEnableNTAutomapping();
248  virtual int getAutomappingDisconnectionPolicy();
249  virtual std::vector<MClientLib::MDriveMap> getDriveMappings();
250  virtual std::string getLocalSubstitutions();
251 
252  virtual void setEnableNTAutomapping(bool);
253  virtual void setAutomappingDisconnectionPolicy(int);
254  virtual void setDriveMappings(const std::vector<MClientLib::MDriveMap>&);
255  virtual void setLocalSubstitutions(const std::string&);
256  };
257 
262  private:
263  std::vector<MClientLib::MTimeRule> timeRules;
264  bool checkLogin;
265  bool checkLoginRemote;
266  bool checkLoginWaitProcessTermination;
267  bool enableScreensaverControl;
268  bool enableRunningProcessesCheck;
269  bool enableNotRunningProcessesCheck;
270  std::string runningProcessesCheck;
271  std::string notRunningProcessesCheck;
272  bool timeRuleAvailableByDefault;
273  bool onTimeRuleWaitProcessTermination;
274  bool timeRuleAvailableOnPowerSavingStates;
275  public:
277  virtual ~MNodeConfigurationAvailability();
278 
279  virtual std::vector<MClientLib::MTimeRule> getTimeRules();
280  virtual bool getCheckLogin();
281  virtual bool getCheckLoginRemote();
282  virtual bool getCheckLoginWaitProcessTermination();
283  virtual bool getEnableScreensaverControl();
284  virtual bool getEnableRunningProcessesCheck();
285  virtual bool getEnableNotRunningProcessesCheck();
286  virtual std::string getRunningProcessesCheck();
287  virtual std::string getNotRunningProcessesCheck();
288  virtual bool getTimeRuleAvailableByDefault();
289  virtual bool getOnTimeRuleWaitProcessTermination();
290  virtual bool getTimeRuleAvailableOnPowerSavingStates();
291 
292  virtual void setTimeRules(const std::vector<MClientLib::MTimeRule>& );
293  virtual void setCheckLogin(bool);
294  virtual void setCheckLoginRemote(bool);
295  virtual void setCheckLoginWaitProcessTermination(bool);
296  virtual void setEnableScreensaverControl(bool);
297  virtual void setEnableRunningProcessesCheck(bool);
298  virtual void setEnableNotRunningProcessesCheck(bool);
299  virtual void setRunningProcessesCheck(const std::string&);
300  virtual void setNotRunningProcessesCheck(const std::string&);
301  virtual void setTimeRuleAvailableByDefault(bool);
302  virtual void setOnTimeRuleWaitProcessTermination(bool);
303  virtual void setTimeRuleAvailableOnPowerSavingStates(bool);
304  };
305 
310  private:
311  std::vector<MClientLib::MTimeRule> shutdownRules;
312  bool shutdownWithNoUsers;
313  bool shutdownTrackRemoteLogins;
314  bool shutdownWhenIdle;
315  int shutdownWhenIdleMinutes;
316  bool shutdownWhenPaused;
317  int shutdownWhenPausedMinutes;
318  int shutdownAction;
319  bool shutdownRulesMatchAvailability;
320  public:
322  virtual ~MNodeConfigurationShutdown();
323 
324  virtual std::vector<MClientLib::MTimeRule> getShutdownRules();
325  virtual bool getShutdownWithNoUsers();
326  virtual bool getShutdownTrackRemoteLogins();
327  virtual bool getShutdownWhenIdle();
328  virtual int getShutdownWhenIdleMinutes();
329  virtual bool getShutdownWhenPaused();
330  virtual int getShutdownWhenPausedMinutes();
331  virtual int getShutdownAction();
332  virtual bool getShutdownRulesMatchAvailability();
333 
334  virtual void setShutdownRules(const std::vector<MClientLib::MTimeRule>& );
335  virtual void setShutdownWithNoUsers(bool);
336  virtual void setShutdownTrackRemoteLogins(bool);
337  virtual void setShutdownWhenIdle(bool);
338  virtual void setShutdownWhenIdleMinutes(int);
339  virtual void setShutdownWhenPaused(bool);
340  virtual void setShutdownWhenPausedMinutes(int);
341  virtual void setShutdownAction(int);
342  virtual void setShutdownRulesMatchAvailability(bool);
343  };
344 
349  private:
350  std::vector<MClientLib::MTimeRule> wakeupRules;
351  bool wakeupRulesMatchAvailability;
352  bool wakeupAtFullLoad;
353  bool wakeupWhenRequiredByPool;
354  public:
356  virtual ~MNodeConfigurationWakeup();
357 
358  virtual std::vector<MClientLib::MTimeRule> getWakeupRules();
359  virtual bool getWakeupRulesMatchAvailability();
360  virtual bool getWakeupAtFullLoad();
361  virtual bool getWakeupWhenRequiredByPool();
362 
363  virtual void setWakeupRules(const std::vector<MClientLib::MTimeRule>& );
364  virtual void setWakeupRulesMatchAvailability(bool);
365  virtual void setWakeupAtFullLoad(bool);
366  virtual void setWakeupWhenRequiredByPool(bool);
367  };
368 
373  private:
374  std::map< int, std::map< std::string, MClientLib::MTemplateVariable> > templatesVariables;
375  public:
376 
378  virtual ~MNodeConfiguration();
387  virtual std::vector<MClientLib::MTemplateVariable> getTemplatesVariables();
388  virtual void setTemplatesVariables(std::vector<MClientLib::MTemplateVariable>& );
389  virtual void setTemplateVariable(int templateId, const std::string& _key, const std::string& value);
390  virtual bool getTemplateVariable(int templateId, const std::string& _key, MClientLib::MStringRef& result);
391 
392  virtual bool Unmarshall(const std::vector<std::string>& items);
393  virtual std::string Marshall();
394  };
395 
396 
397 }
398 
399 #endif