MHistoryChunk.h
1 /*****************************************************************************
2  **
3  ** Header file for Muster API History chunk object
4  **
5  ** Name : MRepository.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 MHISTORYCHUNK_H
19 #define MHISTORYCHUNK_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 
42 // Disable STL Export warning, member is private, we don't need direct access from the DLL client
43 #if defined(_WIN32)
44 #pragma warning(disable: 4251)
45 #endif // _WIN32
46 
47 #include <string>
48 #include <list>
49 #include <vector>
50 
51 #include "MTextFileMarker.h"
52 #include "MChunkUsage.h"
53 
54 namespace MClientLib {
55 
66  class MCLIENTLIB_API MHistoryChunk {
67  public:
68 
73  kHistoryChunkStatusCompleted = 0x01,
74  kHistoryChunkStatusWarning = 0x02,
75  kHistoryChunkStatusAborted = 0x04,
76  kHistoryChunkStatusError = 0x08,
77  kHistoryChunkStatusTimeout = 0x10
78  };
79 
80  private:
81  long id;
82  long jobId;
83  int status;
84  float startFrame;
85  float endFrame;
86  float byFrame;
87  long long int startTime;
88  long long int endTime;
89  std::string renderingHost;
90  std::string result;
91  long chunkId;
92  int startingNumber;
93  int packetType;
94  bool isAssembler;
95  std::string jobName;
96  std::string jobGroup;
97  std::string jobDepartment;
98  std::string jobFile;
99  std::string jobProject;
100  std::string task;
101  int stepBy;
102  int packetSize;
103  int platform;
104  int exitCode;
105  std::vector<MClientLib::MTextFileMarker> warningMarkers;
106  std::vector<MClientLib::MTextFileMarker> errorMarkers;
107  std::vector<MClientLib::MTextFileMarker> silencedWarningMarkers;
108  std::vector<MClientLib::MTextFileMarker> silencedErrorMarkers;
109  std::string jobOwner;
110 
111  public:
112  MHistoryChunk();
113  virtual ~MHistoryChunk();
114 
115  long getId();
116  long getJobId();
117  int getStatus();
118  int getPacketType();
119  float getStartFrame();
120  float getEndFrame();
121  float getByFrame();
122  long long int getStartTime();
123  long long int getEndTime();
124  std::string getRenderingHost();
125  std::string getResult();
126  long getChunkId();
127  int getStartingNumber();
128  bool getIsAssembler();
129  int getPlatform();
130  int getExitCode();
131  std::string getJobName();
132  std::string getJobGroup();
133  std::string getJobDepartment();
134  std::string getJobFile();
135  std::string getJobProject();
136  std::string getTask();
137  int getStepBy();
138  int getPacketSize();
139  virtual std::vector<MClientLib::MTextFileMarker> getWarningMarkers();
140  virtual std::vector<MClientLib::MTextFileMarker> getErrorMarkers();
141  virtual std::vector<MClientLib::MTextFileMarker> getSilencedWarningMarkers();
142  virtual std::vector<MClientLib::MTextFileMarker> getSilencedErrorMarkers();
143  virtual std::string getJobOwner();
144 
145  void setId(long);
146  void setJobId(long);
147  void setStatus(int);
148  void setStartFrame(float);
149  void setEndFrame(float);
150  void setByFrame(float);
151  void setStartTime(long long int);
152  void setEndTime(long long int);
153  void setRenderingHost(const std::string&);
154  void setResult(const std::string&);
155  void setChunkId(long);
156  void setStartingNumber(int);
157  void setIsAssembler(bool);
158  void setPlatform(int);
159  void setExitCode(int);
160  void setJobName(const std::string&);
161  void setJobGroup(const std::string&);
162  void setJobDepartment(const std::string&);
163  void setJobFile(const std::string&);
164  void setJobProject(const std::string&);
165  void setTask(const std::string&);
166  void setStepBy(int);
167  void setPacketSize(int);
168  void setPacketType(int);
169  void setJobOwner(const std::string&);
170  virtual void setWarningMarkers(const std::vector<MClientLib::MTextFileMarker>& _warningMarkers);
171  virtual void setErrorMarkers(const std::vector<MClientLib::MTextFileMarker>& _errorMarkers);
172  virtual void setSilencedWarningMarkers(const std::vector<MClientLib::MTextFileMarker>& _warningMarkers);
173  virtual void setSilencedErrorMarkers(const std::vector<MClientLib::MTextFileMarker>& _errorMarkers);
176  bool Unmarshall(const std::vector<std::string>& items);
177  bool Unmarshall(const char* data);
178  std::string Marshall();
179  void castedRelease();
182  };
183 
185 }
186 
187 #endif
Class holding an history chunk.
Definition: MHistoryChunk.h:66