X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fftacmp%2Fparse_schema.h;h=763ebd538d68400a1789c0efe472af28a6426c18;hb=eb761d89890df8d74532dd4faad118db18fd3b7d;hp=45366a54e346ea343a7c242ea9625565534044dd;hpb=804ea15b01566ac0de58781ca61870b4824d0e02;p=com%2Fgs-lite.git diff --git a/src/ftacmp/parse_schema.h b/src/ftacmp/parse_schema.h index 45366a5..763ebd5 100644 --- a/src/ftacmp/parse_schema.h +++ b/src/ftacmp/parse_schema.h @@ -316,6 +316,8 @@ struct query_list_t; #define STREAM_SCHEMA 2 #define OPERATOR_VIEW_SCHEMA 3 #define UNPACK_FCNS_SCHEMA 4 +#define WATCHLIST_SCHEMA 5 + // Represent a STREAM, PROTOCOL, OPERATOR_VIEW, or UNPACK_FCN list. @@ -332,6 +334,7 @@ private: param_list *op_properties; std::vector qspec_list; param_list *selpush; + std::vector key_flds; // keys of a watchlist public: // for unpacking function group specs. @@ -418,6 +421,13 @@ public: return op_properties->val_of(s); }; + void set_keys(const std::vector &kf){ + key_flds = kf; + } + std::vector get_keys(){ + return key_flds; + } + // Used in generating the LFTA prefilter std::string get_field_basetable(std::string f); @@ -452,6 +462,10 @@ public: schema_type = tmp_sch; return ret; } + + bool is_stream(){ + return(schema_type == PROTOCOL_SCHEMA || schema_type == STREAM_SCHEMA || schema_type == OPERATOR_VIEW_SCHEMA); + } }; @@ -555,6 +569,10 @@ public: return(tbl_list[t]->get_schema_id()); }; + bool is_stream(int t){ + return tbl_list[t]->is_stream(); + } + std::string get_op_prop(int t, std::string s){ return(tbl_list[t]->get_op_prop(s)); };