28 #ifdef MCLIENTLIB_EXPORTS
29 #define MCLIENTLIB_API __declspec(dllexport)
31 #define MCLIENTLIB_API __declspec(dllimport)
35 #ifndef MCLIENTLIB_EXPORTS
37 #define MCLIENTLIB_API
39 #define MCLIENTLIB_API
42 #define MCLIENTLIB_API
48 #pragma warning(disable: 4251)
56 namespace MClientLib {
68 kInstanceStatusUndefined = 0x00,
69 kInstanceStatusIdle = 0x01,
70 kInstanceStatusPaused = 0x02,
72 kInstanceStatusCompleted = 0x04,
73 kInstanceStatusInprogress = 0x08,
74 kInstanceStatusStarting = 0x10,
75 kInstanceStatusPrechunk = 0x20,
77 kInstanceStatusPostchunk = 0x1000,
79 kInstanceStatusStreamingTemplates = 0x2000,
80 kInstanceStatusJustKilledTheProcess = 0x4000,
81 kInstanceStatusRequiresUpgrade = 0x8000,
82 kInstanceStatusLockedByTimetable = 0x10000,
83 kInstanceStatusLockedByLoggedUser = 0x20000,
84 kInstanceStatusOffline = 0x40000,
85 kInstanceStatusLockedByProcess = 0x80000
93 std::string instanceName;
95 std::string statusDescription;
100 std::string currentJobName;
101 std::string currentChunkName;
102 std::string currentChunkNameNoFP;
103 std::string cpuUsage;
104 std::string ramUsage;
105 std::string supportedTemplates;
107 bool realtimeLogEnabled;
108 int selectionPriority;
109 std::string hostMacAddress;
110 std::string currentCommandLine;
111 std::string stringJobsExclusions;
112 std::string stringTemplatesExclusions;
113 double currentJobTotalProgress;
114 std::string physicalCoreType;
115 double physicalCoreSpeed;
116 int physicalCpusCount;
117 int physicalCoresCount;
118 int logicalThreadsCount;
119 std::string platformDescription;
120 long long platformAffinitiyMask;
121 long long int updateTime;
122 std::string clientVersion;
124 std::vector<MClientLib::MDrive> physicalDisks;
130 virtual void Clear();
131 virtual long getChunkId();
132 virtual long getNodeId();
133 virtual int getHostPlatform();
134 virtual const std::string getHostName();
135 virtual const std::string getInstanceName();
136 virtual const std::string getHostIP();
137 virtual const std::string getStatusDescription();
138 virtual int getProcessPriority();
139 virtual long getJobId();
140 virtual int getStatus();
141 virtual bool getWillPause();
142 virtual const std::string getCurrentJobName();
143 virtual const std::string getCurrentChunkName();
144 virtual const std::string getCurrentChunkNameNoFP();
145 virtual const std::string getCpuUsage();
146 virtual const std::string getRamUsage();
147 virtual const std::string getSupportedTemplates();
148 virtual const std::string getNotes();
149 virtual bool getRealtimeLogEnabled();
150 virtual int getSelectionPriority();
151 virtual const std::string getHostMacAddresses();
152 virtual const std::string getCurrentCommandLine();
153 virtual double getCurrentJobTotalProgress();
154 virtual const std::string getPhysicalCoreType();
155 virtual double getPhysicalCoreSpeed();
156 virtual int getPhysicalCpusCount();
157 virtual int getPhysicalCoresCount();
158 virtual const std::string getPlatformDescription();
159 virtual long long getProcsAffinityMask();
160 virtual long long int getUpdateTime();
161 virtual const std::string getClientVersion();
162 virtual int getLogicalThreadsCount();
163 virtual int getInstanceNumber();
164 virtual const std::vector<MClientLib::MDrive> getPhysicalDisks();
165 virtual const std::string getJobsExclusion();
166 virtual const std::string getTemplatesExclusion();
168 virtual void setChunkId(
long _currentChunkId);
169 virtual void setNodeId(
long _nodeId);
170 virtual void setHostPlatform(
int _hostPlatform);
171 virtual void setHostName(
const std::string& _hostName);
172 virtual void setInstanceName(
const std::string& _instanceName);
173 virtual void setHostIP(
const std::string& _hostIp);
174 virtual void setStatusDescription(
const std::string& _statusDescription);
175 virtual void setProcessPriority(
int _processPriority);
176 virtual void setJobId(
long _jobId);
177 virtual void setStatus(
int _status);
178 virtual void setWillPause(
bool _willPause);
179 virtual void setCurrentJobName(
const std::string& _currentJobName);
180 virtual void setCurrentChunkName(
const std::string& currentChunkName);
181 virtual void setCurrentChunkNameNoFP(
const std::string& _currentChunkNameNoFP);
182 virtual void setCpuUsage(
const std::string& _cpuUsage);
183 virtual void setRamUsage(
const std::string& _ramUsage);
184 virtual void setSupportedTemplates(
const std::string& _supportedTemplates);
185 virtual void setNotes(std::string _notes);
186 virtual void setRealtimeLogEnabled(
bool _realtimeLogEnabled);
187 virtual void setSelectionPriority(
int _selectionPriority);
188 virtual void setHostMacAddresses(
const std::string& _hostMacAddress);
189 virtual void setCurrentCommandLine(
const std::string& _currentCommandLine);
190 virtual void setCurrentJobTotalProgress(
double _currentJobTotalProgress);
191 virtual void setPhysicalCoreType(
const std::string& _physicalCoreType);
192 virtual void setPhysicalCoreSpeed(
double _physicalCoreSpeed);
193 virtual void setPhysicalCpusCount(
int _physicalCpusCount);
194 virtual void setPhysicalCoresCount(
int _physicalCoresCount);
195 virtual void setPlatformDescription(
const std::string& _platformDescription);
196 virtual void setProcsAffinityMask(
long long _platformAffinitiyMask);
197 virtual void setUpdateTime(
long long int _updateTime);
198 virtual void setClientVersion(
const std::string& version);
199 virtual void setLogicalThreadsCount(
int);
200 virtual void setInstanceNumber(
int);
201 virtual void setJobsExclusion(
const std::string& exclusion);
202 virtual void setTemplatesExclusion(
const std::string& exclusion);
203 virtual void setPhysicalDisks(std::vector<MClientLib::MDrive>*);
205 virtual void clearPhysicalDisks();
207 virtual bool Unmarshall(std::vector<std::string>& items);
208 virtual const std::string Marshall();
212 #define IS_HOST_OCCUPIED(x) (x >= MClientLib::MNode::kInstanceStatusCompleted && x <= MClientLib::MNode::kInstanceStatusPostchunk)