libusbgx: Add getter for config name.
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Fri, 14 Feb 2014 14:57:59 +0000 (15:57 +0100)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Tue, 22 Dec 2015 19:35:20 +0000 (20:35 +0100)
Add usbg_get_config_name() and usbg_get_config_name_len()
to avoid direct config structure members access.

Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
[Port from libusbg and update description]
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
include/usbg/usbg.h
src/usbg.c

index 0406a8b..5cad5c0 100644 (file)
@@ -480,6 +480,22 @@ extern struct config *usbg_create_config(struct gadget *g, char *name,
                struct config_attrs *c_attrs, struct config_strs *c_strs);
 
 /**
+ * @brief Get config name length
+ * @param c Config which name length should be returned
+ * @return Length of name string or -1 if error occurred.
+ */
+extern size_t usbg_get_config_name_len(struct config *c);
+
+/**
+ * @brieg Get config name
+ * @param c Pointer to config
+ * @param buf Buffer where name should be copied
+ * @param len Length of given buffer
+ * @return Pointer to destination or NULL if error occurred.
+ */
+extern char *usbg_get_config_name(struct config *c, char *buf, size_t len);
+
+/**
  * @brief Set the USB configuration attributes
  * @param c Pointer to configuration
  * @param c_attrs Configuration attributes
index 79e7df0..ab9bcdf 100644 (file)
@@ -914,6 +914,16 @@ struct config *usbg_create_config(struct gadget *g, char *name,
        return c;
 }
 
+size_t usbg_get_config_name_len(struct config *c)
+{
+       return c ? strlen(c->name) : -1;
+}
+
+char *usbg_get_config_name(struct config *c, char *buf, size_t len)
+{
+       return c ? strncpy(buf, c->name, len) : NULL;
+}
+
 void usbg_set_config_attrs(struct config *c, struct config_attrs *c_attrs)
 {
        if (!c || !c_attrs)