diff --git a/cpp/dmi/hw_events_mgmt_service.pb.h b/cpp/dmi/hw_events_mgmt_service.pb.h
index 9939a73..62c840a 100644
--- a/cpp/dmi/hw_events_mgmt_service.pb.h
+++ b/cpp/dmi/hw_events_mgmt_service.pb.h
@@ -322,6 +322,12 @@
 
   // accessors -------------------------------------------------------
 
+  // .dmi.DataValueType typeOfVal = 4;
+  void clear_typeofval();
+  static const int kTypeOfValFieldNumber = 4;
+  ::dmi::DataValueType typeofval() const;
+  void set_typeofval(::dmi::DataValueType value);
+
   // int64 int_val = 1;
   private:
   bool has_int_val() const;
@@ -362,6 +368,7 @@
   inline void clear_has_val();
 
   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  int typeofval_;
   union ValUnion {
     ValUnion() {}
     ::google::protobuf::int64 int_val_;
@@ -1911,6 +1918,20 @@
   // @@protoc_insertion_point(field_set:dmi.ValueType.float_val)
 }
 
+// .dmi.DataValueType typeOfVal = 4;
+inline void ValueType::clear_typeofval() {
+  typeofval_ = 0;
+}
+inline ::dmi::DataValueType ValueType::typeofval() const {
+  // @@protoc_insertion_point(field_get:dmi.ValueType.typeOfVal)
+  return static_cast< ::dmi::DataValueType >(typeofval_);
+}
+inline void ValueType::set_typeofval(::dmi::DataValueType value) {
+  
+  typeofval_ = value;
+  // @@protoc_insertion_point(field_set:dmi.ValueType.typeOfVal)
+}
+
 inline bool ValueType::has_val() const {
   return val_case() != VAL_NOT_SET;
 }
