00001 // Panel.h 00002 00003 #ifndef PANEL_H 00004 #define PANEL_H 00005 00006 #include <stdint.h> 00007 #include <string> 00008 00009 namespace Yosokumo 00010 { 00011 00012 /** 00013 * Contains various data items associated with a study, e.g., creation time. 00014 * 00015 * @author Roger House 00016 * @version 0.9 00017 */ 00018 class Panel 00019 { 00020 std::string nameControlLocation; 00021 std::string statusControlLocation; 00022 std::string visibilityControlLocation; 00023 00024 uint64_t blockCount; 00025 uint64_t cellCount; 00026 uint64_t prospectCount; 00027 00028 std::string creationTime; 00029 std::string latestBlockTime; 00030 std::string latestProspectTime; 00031 00032 public: 00033 00034 // Panel setters and getters 00035 00036 /** 00037 * Set the name control location. 00038 * 00039 * @param nameControlLocation the URI to use to change the 00040 * name of the study. 00041 */ 00042 void setNameControlLocation(const std::string &nameControlLocation); 00043 00044 /** 00045 * Return the name control location. 00046 * 00047 * @return the URI to use to change the name of the study. 00048 */ 00049 std::string getNameControlLocation() const; 00050 00051 00052 /** 00053 * Set the status control location. 00054 * 00055 * @param statusControlLocation the URI to use to change the 00056 * status of the study. 00057 */ 00058 void setStatusControlLocation(const std::string &statusControlLocation); 00059 00060 /** 00061 * Return the status control location. 00062 * 00063 * @return the URI to use to change the status of the study. 00064 */ 00065 std::string getStatusControlLocation() const; 00066 00067 00068 /** 00069 * Set the visibility control location. 00070 * 00071 * @param visibilityControlLocation the URI to use to change the 00072 * visibility of the study. 00073 */ 00074 void setVisibilityControlLocation( 00075 const std::string &visibilityControlLocation); 00076 00077 /** 00078 * Return the visibility control location. 00079 * 00080 * @return the URI to use to change the visibility of the study. 00081 */ 00082 std::string getVisibilityControlLocation() const; 00083 00084 00085 /** 00086 * Set the block count. 00087 * 00088 * @param blockCount the number of posted blocks that have been 00089 * accepted into the study table. 00090 */ 00091 void setBlockCount(uint64_t blockCount); 00092 00093 /** 00094 * Return the block count. 00095 * 00096 * @return the number of posted blocks that have been accepted into 00097 * the study table. 00098 */ 00099 uint64_t getBlockCount() const; 00100 00101 /** 00102 * Set the cell count. 00103 * 00104 * @param cellCount the total number of cells contained in the blocks 00105 * reported in the block count. 00106 */ 00107 void setCellCount(uint64_t cellCount); 00108 00109 /** 00110 * Return the cell count. 00111 * 00112 * @return the total number of cells contained in the blocks reported in 00113 * the block count. 00114 */ 00115 uint64_t getCellCount() const; 00116 00117 /** 00118 * Set the prospect count. 00119 * 00120 * @param prospectCount the total number of specimens contained in 00121 * all Post Model and Get Model requests for 00122 * the study. 00123 */ 00124 void setProspectCount(uint64_t prospectCount); 00125 00126 /** 00127 * Return the prospect count. 00128 * 00129 * @return the total number of specimens contained in all Post Model 00130 * and Get Model requests for the study. 00131 */ 00132 uint64_t getProspectCount() const; 00133 00134 /** 00135 * Set the creation time. 00136 * 00137 * @param creationTime the UTC time the study was created. 00138 */ 00139 void setCreationTime(const std::string &creationTime); 00140 00141 /** 00142 * Return the creation time. 00143 * 00144 * @return the UTC time the study was created. 00145 */ 00146 std::string getCreationTime() const ; 00147 00148 /** 00149 * Set the latest block time. 00150 * 00151 * @param latestBlockTime the UTC time that the service accepted 00152 * the most recent block into the study table. 00153 */ 00154 void setLatestBlockTime(const std::string &latestBlockTime); 00155 00156 /** 00157 * Return the latest block time. 00158 * 00159 * @return the UTC time that the service accepted the most recent block 00160 * into the study table. 00161 */ 00162 std::string getLatestBlockTime() const; 00163 00164 /** 00165 * Set the latest prospect time. 00166 * 00167 * @param latestProspectTime the UTC time of the most recent Post 00168 * Model or Get Model request. 00169 */ 00170 void setLatestProspectTime(const std::string &latestProspectTime); 00171 00172 /** 00173 * Return the latest prospect time. 00174 * 00175 * @return the UTC time of the most recent Post Model or Get Model request. 00176 */ 00177 std::string getLatestProspectTime() const; 00178 00179 }; // end class Panel 00180 00181 } // end namespace Yosokumo 00182 00183 #endif // PANEL_H 00184 00185 // end Panel.h