X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fmetadata_obj.hpp;h=fef77795173d0707531ac41fade8a41582439eeb;hp=593fe968a79913e69830046d39be48d3c58243af;hb=8997f62a4f87c822578aa5d835e1dd8109c6f5eb;hpb=593ea025f22372ed6761d0cb300f0873fa1a47e7 diff --git a/pv/metadata_obj.hpp b/pv/metadata_obj.hpp index 593fe968..fef77795 100644 --- a/pv/metadata_obj.hpp +++ b/pv/metadata_obj.hpp @@ -26,6 +26,7 @@ #include #include #include +#include using std::deque; using std::vector; @@ -38,31 +39,32 @@ enum MetadataObjectType { MetadataObjMainViewRange, MetadataObjSelection, MetadataObjTimeMarker, - MetadataObjTypeCount // Indicates how many metadata object types there are, must always be last + MetadataObjectTypeCount // Indicates how many metadata object types there are, must always be last }; // When adding an entry here, don't forget to update MetadataValueNames as well enum MetadataValueType { - MetadataObjStartSample, - MetadataObjEndSample, - MetadataObjText, - MetadataObjValueCount // Indicates how many metadata value types there are, must always be last + MetadataValueStartSample, // int64_t / qlonglong + MetadataValueEndSample, // int64_t / qlonglong + MetadataValueText, + MetadataValueTypeCount // Indicates how many metadata value types there are, must always be last }; -extern const char* MetadataObjectNames[MetadataObjTypeCount]; -extern const char* MetadataValueNames[MetadataObjValueCount]; +extern const char* MetadataObjectNames[MetadataObjectTypeCount]; +extern const char* MetadataValueNames[MetadataValueTypeCount]; class MetadataObjManager; +class MetadataObject; class MetadataObjObserverInterface { public: - virtual void on_metadata_object_created(uint32_t obj_id, MetadataObjectType obj_type) = 0; - virtual void on_metadata_object_deleted(uint32_t obj_id, MetadataObjectType obj_type) = 0; - virtual void on_metadata_object_changed(uint32_t obj_id, MetadataObjectType obj_type, - MetadataValueType value_type, const QVariant& value) = 0; + virtual void on_metadata_object_created(MetadataObject* obj); + virtual void on_metadata_object_deleted(MetadataObject* obj); + virtual void on_metadata_object_changed(MetadataObject* obj, + MetadataValueType value_type); }; @@ -75,7 +77,7 @@ public: virtual uint32_t id() const; virtual MetadataObjectType type() const; - virtual void set_value(MetadataValueType value_type, QVariant& value); + virtual void set_value(MetadataValueType value_type, const QVariant& value); virtual QVariant value(MetadataValueType value_type) const; private: MetadataObjManager* obj_manager_;