[ovs-dev] [db-ctl-base v2 1/3] db-ctl-base: do not expose get_table() API
Alex Wang
alexw at nicira.com
Sat Jul 11 06:40:08 UTC 2015
On Thu, Jul 9, 2015 at 1:27 PM, Andy Zhou <azhou at nicira.com> wrote:
> Both get_table() and set_cloum() APIs are mostly used within db-ctl-base
> library. This patch makes both private to the library.
>
> Add a new ctl_set_colum() API for library client.
>
> The changes are cleanups. No functional changes.
>
> Signed-off-by: Andy Zhou <azhou at nicira.com>
> ---
> lib/db-ctl-base.c | 15 +++++++++++++--
> lib/db-ctl-base.h | 10 +++-------
> utilities/ovs-vsctl.c | 4 ++--
> 3 files changed, 18 insertions(+), 11 deletions(-)
>
> diff --git a/lib/db-ctl-base.c b/lib/db-ctl-base.c
> index 10884b4..64c01e6 100644
> --- a/lib/db-ctl-base.c
> +++ b/lib/db-ctl-base.c
> @@ -47,6 +47,10 @@ struct ovsdb_idl *the_idl;
> struct ovsdb_idl_txn *the_idl_txn;
>
> static struct shash all_commands = SHASH_INITIALIZER(&all_commands);
> +static const struct ctl_table_class *get_table(const char *table_name);
> +static void set_column(const struct ctl_table_class *,
> + const struct ovsdb_idl_row *, const char *,
> + struct ovsdb_symbol_table *);
>
>
> static struct option *
> @@ -1990,7 +1994,7 @@ ctl_context_done(struct ctl_context *ctx,
>
> /* Finds and returns the "struct ctl_table_class *" with 'table_name' by
> * searching the 'tables'. */
> -const struct ctl_table_class *
> +static const struct ctl_table_class *
> get_table(const char *table_name)
> {
> const struct ctl_table_class *table;
> @@ -2018,7 +2022,7 @@ get_table(const char *table_name)
> }
>
> /* Sets the column of 'row' in 'table'. */
> -void
> +static void
> set_column(const struct ctl_table_class *table,
> const struct ovsdb_idl_row *row, const char *arg,
> struct ovsdb_symbol_table *symtab)
> @@ -2070,3 +2074,10 @@ set_column(const struct ctl_table_class *table,
> free(key_string);
> free(value_string);
> }
> +
> +void ctl_set_column(const char *table_name,
> + const struct ovsdb_idl_row *row, const char *arg,
> + struct ovsdb_symbol_table *symtab)
> +{
> + set_column(get_table(table_name), row, arg, symtab);
> +}
> diff --git a/lib/db-ctl-base.h b/lib/db-ctl-base.h
> index f14d27f..8d25fbe 100644
> --- a/lib/db-ctl-base.h
> +++ b/lib/db-ctl-base.h
> @@ -43,9 +43,6 @@ struct table;
> * - the *ctl command context by inheriting the 'struct ctl_context' for
> * additional commands implemented by user. (See 'struct ctl_context'
> for
> * more info)
> - *
> - * - the 'tables[]' for each table in the schema.
> - *
> */
>
nitpick, could we move this deletion to next commit?
Acked-by: Alex Wang <alexw at nicira.com>
> /* ctl_fatal() also logs the error, so it is preferred in this file. */
> @@ -250,9 +247,8 @@ struct ctl_table_class {
> * entry. */
> extern const struct ctl_table_class tables[];
>
> -const struct ctl_table_class *get_table(const char *table_name);
> -void set_column(const struct ctl_table_class *,
> - const struct ovsdb_idl_row *, const char *arg,
> - struct ovsdb_symbol_table *);
> +void ctl_set_column(const char *table_name,
> + const struct ovsdb_idl_row *, const char *arg,
> + struct ovsdb_symbol_table *);
>
> #endif /* db-ctl-base.h */
> diff --git a/utilities/ovs-vsctl.c b/utilities/ovs-vsctl.c
> index c9af355..863bc73 100644
> --- a/utilities/ovs-vsctl.c
> +++ b/utilities/ovs-vsctl.c
> @@ -1556,8 +1556,8 @@ add_port(struct ctl_context *ctx,
> }
>
> for (i = 0; i < n_settings; i++) {
> - set_column(get_table("Port"), &port->header_, settings[i],
> - ctx->symtab);
> + ctl_set_column("Port", &port->header_, settings[i],
> + ctx->symtab);
> }
>
> bridge_insert_port((bridge->parent ? bridge->parent->br_cfg
> --
> 1.9.1
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
More information about the dev
mailing list