30 #ifndef GOOGLE_CONTAINER_API_METRIC_H_ 31 #define GOOGLE_CONTAINER_API_METRIC_H_ 34 #include "googleapis/base/integral_types.h" 35 #include "googleapis/base/macros.h" 36 #include "googleapis/client/data/jsoncpp_data.h" 37 #include "googleapis/strings/stringpiece.h" 51 class Metric :
public client::JsonCppData {
65 explicit Metric(
const Json::Value& storage);
72 explicit Metric(Json::Value* storage);
85 return StringPiece(
"google_container_api::Metric");
94 return Storage().isMember(
"doubleValue");
101 MutableStorage()->removeMember(
"doubleValue");
109 const Json::Value& storage = Storage(
"doubleValue");
110 return client::JsonValueToCppValueHelper<double >(storage);
121 client::SetJsonValueFromCppValueHelper<double >(
122 value, MutableStorage(
"doubleValue"));
131 return Storage().isMember(
"intValue");
138 MutableStorage()->removeMember(
"intValue");
146 const Json::Value& storage = Storage(
"intValue");
147 return client::JsonValueToCppValueHelper<int64 >(storage);
158 client::SetJsonValueFromCppValueHelper<int64 >(
159 value, MutableStorage(
"intValue"));
168 return Storage().isMember(
"name");
175 MutableStorage()->removeMember(
"name");
183 const Json::Value& v = Storage(
"name");
184 if (v == Json::Value::null)
return StringPiece(
"");
185 return StringPiece(v.asCString());
196 *MutableStorage(
"name") = value.data();
205 return Storage().isMember(
"stringValue");
212 MutableStorage()->removeMember(
"stringValue");
220 const Json::Value& v = Storage(
"stringValue");
221 if (v == Json::Value::null)
return StringPiece(
"");
222 return StringPiece(v.asCString());
233 *MutableStorage(
"stringValue") = value.data();
237 void operator=(
const Metric&);
240 #endif // GOOGLE_CONTAINER_API_METRIC_H_ void set_string_value(const StringPiece &value)
Definition: metric.h:232
void set_double_value(double value)
Definition: metric.h:120
bool has_string_value() const
Definition: metric.h:204
void clear_int_value()
Definition: metric.h:137
void clear_string_value()
Definition: metric.h:211
const StringPiece get_name() const
Definition: metric.h:182
void clear_double_value()
Definition: metric.h:100
bool has_double_value() const
Definition: metric.h:93
bool has_name() const
Definition: metric.h:167
Definition: accelerator_config.h:39
Definition: accelerator_config.cc:41
bool has_int_value() const
Definition: metric.h:130
double get_double_value() const
Definition: metric.h:108
void clear_name()
Definition: metric.h:174
void set_int_value(int64 value)
Definition: metric.h:157
const StringPiece get_string_value() const
Definition: metric.h:219
void set_name(const StringPiece &value)
Definition: metric.h:195
int64 get_int_value() const
Definition: metric.h:145
const StringPiece GetTypeName() const
Definition: metric.h:84