Man Linux: Main Page and Category List

NAME

       vf_get_property - vf_get_property()

SYNOPSIS

       #include <../vformat/vf_iface.h>

       extern bool_t vf_get_property
       (
            VF_PROP_T **pp_prop,
            VF_OBJECT_T *p_object,
            vf_get_t ops,
            const char *p_group,
            const char *p_name,
            const char *p_qualifier,
            ...
       );

PARAMETERS

       VF_PROP_T **pp_prop
              Output pointer.

       VF_OBJECT_T *p_object
              Object to add to.

       vf_get_t ops
              Search flags.

       const char *p_group
              Group name if any.

       const char *p_name
              Name of tag.

       const char *p_qualifier
              First qualifier if any.

       ...    Subequent qualifiers.

DESCRIPTION

       Basic  searching function locating elements of the VOBJECT by qualified
       name.  The function is a varargs function (like sprintf) and  the  list
       of  arguments  must  be  NULL  terminated  (hence the appearance of the
       p_qualifier argument in the arglist).  Valid calls might be:

       vf_get_property(&p_out, p_object, VFGP_FIND, NULL, "N", NULL);
       - Find and return "N" properties.  If there are none, return FALSE.

       Vf_get_property(&p_out,  p_object,  VFGP_FIND,  NULL,  "TEL",   "WORK",
       NULL);
       -  Find and return "TEL" entries qualified by the "work" attribute (ie.
       Work phone numbers). If there are none, return FALSE.

       Vf_get_property(&p_out, p_object, VFGP_GET, NULL, "TEL", "WORK", NULL);
       -  Find and return work phone number.  The entry is automatically added
       if not pre-existing.

       Vf_get_property(&p_out, p_object, VFGP_GET, NULL, "TEL", "WORK", NULL);
       -  Find  and  return  work phone numbers in the group identifier by the
       "ME" identifier.  The entry is automatically added if not pre-existing.

       Vf_get_property(&p_out, p_object, VFGP_FIND, "ME", "*", NULL);
       - Effectively enumerates all entries in the "ME" group.

       A  pointer  to  the  first  property  matching  the  search criteria is
       returned via the pp_prop argument.  The  search  actually  locates  all
       such matches and pointer to subsequent entries (if there are >1) may be
       found by calling the vf_get_next_property() function.

       The tags may occur in any order _except_ that the p_name must be first.

       Note  that  the VF_PROP_T returned by pp_prop is an opaque type and the
       functions vf_get_prop_xxxx() etc. Must be used to locate real "values".

       Cached  search  results (the list enumerated by subsequent calls to the
       vf_get_next_property() function) are maintained through the use of a  a
       single internal pointer therefore this method is not thread safe.

RETURNS

       TRUE iff found/added successfully.  Ptr to prop returned via pp_prop.

SEE ALSO

       vf_parse_init(3),  vf_parse_text(3),  vf_parse_end(3), vf_read_file(3),
       vf_write_file(3),      vf_get_next_object(3),      vf_create_object(3),
       vf_get_object_type(3),  vf_get_property_ex(3), vf_get_next_property(3),
       vf_get_prop_value(3),                             vf_set_prop_value(3),
       vf_get_prop_value_string(3),                vf_get_prop_name_string(3),
       vf_set_prop_name_string(3),                        vf_get_prop_name(3),
       vf_get_prop_value_object(3),               vf_set_prop_value_object(3),
       vf_set_prop_value_string(3),               vf_set_prop_value_base64(3),
       vf_get_prop_value_base64(3),              vf_set_property_from_file(3),
       vf_delete_object(3),   vf_delete_prop(3),   vf_find_prop_qual_index(3),
       vf_is_modified(3),    vf_find_charset(3),    vf_date_string_to_time(3),
       vf_period_string_to_time(3),               vf_period_time_to_string(3),
       vf_set_prop_value_time(3), vf_get_prop_value_time(3)