Improvements to aggregation code and fucntion library
[com/gs-lite.git] / src / ftacmp / type_objects.cc
index 04f5c86..5464dcf 100644 (file)
@@ -1172,8 +1172,18 @@ string data_type::get_comparison_fcn(data_type *dt){
        default:
                return("ERROR_NO_SUCH_COMPARISON_FCN");
        }
-
-
+}
+string data_type::get_equals_fcn(data_type *dt){
+  switch(type){
+       case timeval_t:
+               return("Compare_Timeval");
+       case v_str_t:
+               return("str_equal");
+       case ipv6_t:
+               return("ipv6_compare");
+       default:
+               return("ERROR_NO_SUCH_COMPARISON_FCN");
+       }
 }
 
 string data_type::get_hfta_comparison_fcn(data_type *dt){
@@ -1188,6 +1198,18 @@ string data_type::get_hfta_comparison_fcn(data_type *dt){
                return("ERROR_NO_SUCH_COMPARISON_FCN");
        }
 }
+string data_type::get_hfta_equals_fcn(data_type *dt){
+  switch(type){
+       case timeval_t:
+               return("hfta_Compare_Timeval");
+       case v_str_t:
+               return("hfta_vstr_equal");
+       case ipv6_t:
+               return("hfta_ipv6_compare");
+       default:
+               return("ERROR_NO_SUCH_COMPARISON_FCN");
+       }
+}
 
 //             Return true if operating on  these types requires
 //             a special function for this operator.
@@ -1901,3 +1923,34 @@ string data_type::get_max_literal() {
 
 }
 
+string data_type::get_wl_extract_fcn() {
+       switch(type){
+       case int_t:
+               return("wl_csv_int");
+       case bool_t:
+               return("wl_csv_bool");
+       case u_short_t:
+       case u_int_t:
+               return("wl_csv_uint");
+       case ip_t:
+               return("wl_csv_ip");
+       case u_llong_t:
+               return("wl_csv_ullong");
+       case llong_t:
+               return("wl_csv_llong");
+       case floating_t:
+               return("wl_csv_float");
+       case timeval_t:
+               return("ERROR_TIMEVAL_T_EXTRACTION_NOT_SUPPORTED");
+       case ipv6_t:
+               return("wl_csv_ipv6");
+       case v_str_t:
+       case fstring_t:
+               return("wl_csv_string");
+       default:
+               return("ERROR: Unknown type in data_type::get_wl_extract_fcn\n");
+       }
+
+}
+
+