pv: exposed kemi functions for getting xavp empty and print variants
authorDaniel-Constantin Mierla <miconda@gmail.com>
Wed, 5 Jun 2019 06:30:49 +0000 (08:30 +0200)
committerDaniel-Constantin Mierla <miconda@gmail.com>
Wed, 5 Jun 2019 06:30:49 +0000 (08:30 +0200)
src/modules/pv/pv.c

index c59e44f..e6cd248 100644 (file)
@@ -1158,6 +1158,22 @@ static sr_kemi_xval_t* ki_xavp_get(sip_msg_t *msg, str *rname)
 /**
  *
  */
+static sr_kemi_xval_t* ki_xavp_gete(sip_msg_t *msg, str *rname)
+{
+       return ki_xavp_get_mode(msg, rname, SR_KEMI_XVAL_NULL_EMPTY);
+}
+
+/**
+ *
+ */
+static sr_kemi_xval_t* ki_xavp_getw(sip_msg_t *msg, str *rname)
+{
+       return ki_xavp_get_mode(msg, rname, SR_KEMI_XVAL_NULL_PRINT);
+}
+
+/**
+ *
+ */
 static sr_kemi_xval_t* ki_xavp_get_child_mode(sip_msg_t *msg, str *rname,
                str *cname, int rmode)
 {
@@ -1193,6 +1209,24 @@ static sr_kemi_xval_t* ki_xavp_get_child(sip_msg_t *msg, str *rname, str *cname)
        return ki_xavp_get_child_mode(msg, rname, cname, SR_KEMI_XVAL_NULL_NONE);
 }
 
+
+/**
+ *
+ */
+static sr_kemi_xval_t* ki_xavp_gete_child(sip_msg_t *msg, str *rname, str *cname)
+{
+       return ki_xavp_get_child_mode(msg, rname, cname, SR_KEMI_XVAL_NULL_EMPTY);
+}
+
+
+/**
+ *
+ */
+static sr_kemi_xval_t* ki_xavp_getw_child(sip_msg_t *msg, str *rname, str *cname)
+{
+       return ki_xavp_get_child_mode(msg, rname, cname, SR_KEMI_XVAL_NULL_PRINT);
+}
+
 /**
  *
  */
@@ -1465,11 +1499,31 @@ static sr_kemi_t sr_kemi_pvx_exports[] = {
                { SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
                        SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
        },
+       { str_init("pvx"), str_init("xavp_gete"),
+               SR_KEMIP_XVAL, ki_xavp_gete,
+               { SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
+                       SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+       },
+       { str_init("pvx"), str_init("xavp_getw"),
+               SR_KEMIP_XVAL, ki_xavp_getw,
+               { SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
+                       SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+       },
        { str_init("pvx"), str_init("xavp_get_child"),
                SR_KEMIP_XVAL, ki_xavp_get_child,
                { SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
                        SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
        },
+       { str_init("pvx"), str_init("xavp_gete_child"),
+               SR_KEMIP_XVAL, ki_xavp_gete_child,
+               { SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
+                       SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+       },
+       { str_init("pvx"), str_init("xavp_getw_child"),
+               SR_KEMIP_XVAL, ki_xavp_getw_child,
+               { SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
+                       SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+       },
        { str_init("pvx"), str_init("evalx"),
                SR_KEMIP_INT, ki_pv_evalx,
                { SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,