aboutsummaryrefslogtreecommitdiffstats
path: root/ctrl/facemgr/src/interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'ctrl/facemgr/src/interface.c')
-rw-r--r--ctrl/facemgr/src/interface.c254
1 files changed, 114 insertions, 140 deletions
diff --git a/ctrl/facemgr/src/interface.c b/ctrl/facemgr/src/interface.c
index 7f95be4ce..a9aeeaf33 100644
--- a/ctrl/facemgr/src/interface.c
+++ b/ctrl/facemgr/src/interface.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Cisco and/or its affiliates.
+ * Copyright (c) 2021 Cisco and/or its affiliates.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
@@ -29,170 +29,144 @@
#include "interface.h"
TYPEDEF_MAP_H(interface_ops_map, const char *, const interface_ops_t *);
-TYPEDEF_MAP(interface_ops_map, const char *, const interface_ops_t *, strcmp, string_snprintf, generic_snprintf);
-
-static interface_ops_map_t * interface_ops_map = NULL;
-
-int
-interface_register(const interface_ops_t * ops)
-{
- if (!interface_ops_map) {
- interface_ops_map = interface_ops_map_create();
- if (!interface_ops_map)
- return -1;
- }
- interface_ops_map_add(interface_ops_map, ops->type, ops);
- return 0;
+TYPEDEF_MAP(interface_ops_map, const char *, const interface_ops_t *, strcmp,
+ string_snprintf, generic_snprintf);
+
+static interface_ops_map_t *interface_ops_map = NULL;
+
+int interface_register(const interface_ops_t *ops) {
+ if (!interface_ops_map) {
+ interface_ops_map = interface_ops_map_create();
+ if (!interface_ops_map) return -1;
+ }
+ interface_ops_map_add(interface_ops_map, ops->type, ops);
+ return 0;
}
-int
-interface_unregister_all()
-{
- int ret = 0;
- const char ** ops_name_array = NULL;
- int n = interface_ops_map_get_key_array(interface_ops_map, &ops_name_array);
- if (n < 0) {
- ERROR("[interface_unregister_all] Could not get interface ops array");
- return -1;
- }
-
- for (unsigned i = 0; i < n; i++) {
- const char * ops_name = ops_name_array[i];
- if (interface_ops_map_remove(interface_ops_map, ops_name, NULL) < 0) {
- ERROR("[interface_unregister_all] Could not remove %s from interface ops map", ops_name);
- ret = -1;
- }
+int interface_unregister_all() {
+ int ret = 0;
+ const char **ops_name_array = NULL;
+ int n = interface_ops_map_get_key_array(interface_ops_map, &ops_name_array);
+ if (n < 0) {
+ ERROR("[interface_unregister_all] Could not get interface ops array");
+ return -1;
+ }
+
+ for (unsigned i = 0; i < n; i++) {
+ const char *ops_name = ops_name_array[i];
+ if (interface_ops_map_remove(interface_ops_map, ops_name, NULL) < 0) {
+ ERROR(
+ "[interface_unregister_all] Could not remove %s from interface ops "
+ "map",
+ ops_name);
+ ret = -1;
}
- free(ops_name_array);
+ }
+ free(ops_name_array);
- interface_ops_map_free(interface_ops_map);
- interface_ops_map = NULL;
+ interface_ops_map_free(interface_ops_map);
+ interface_ops_map = NULL;
- return ret;
+ return ret;
}
-interface_t *
-interface_create(const char * name, const char * type)
-{
-
- const interface_ops_t * ops = NULL;
- int rc = interface_ops_map_get(interface_ops_map, type, &ops);
- if (rc < 0) {
- printf("Interface type not found %s\n", type);
- return NULL;
- }
-
- interface_t * interface = malloc(sizeof(interface_t));
- if (!interface)
- return NULL;
-
- interface->name = strdup(name);
- /* this should use type */
- interface->ops = ops;
- interface->callback = NULL;
- interface->callback_owner = NULL;
- interface->data = NULL;
-
- return interface;
+interface_t *interface_create(const char *name, const char *type) {
+ const interface_ops_t *ops = NULL;
+ int rc = interface_ops_map_get(interface_ops_map, type, &ops);
+ if (rc < 0) {
+ printf("Interface type not found %s\n", type);
+ return NULL;
+ }
+
+ interface_t *interface = malloc(sizeof(interface_t));
+ if (!interface) return NULL;
+
+ interface->name = strdup(name);
+ /* this should use type */
+ interface->ops = ops;
+ interface->callback = NULL;
+ interface->callback_owner = NULL;
+ interface->data = NULL;
+
+ return interface;
}
-void
-interface_free(interface_t * interface)
-{
- free(interface->name);
- free(interface);
+void interface_free(interface_t *interface) {
+ free(interface->name);
+ free(interface);
}
-void
-interface_set_callback(interface_t * interface, void * callback_owner,
- interface_cb_t callback)
-{
- interface->callback = callback;
- interface->callback_owner = callback_owner;
+void interface_set_callback(interface_t *interface, void *callback_owner,
+ interface_cb_t callback) {
+ interface->callback = callback;
+ interface->callback_owner = callback_owner;
}
-int
-interface_initialize(interface_t * interface, void * cfg)
-{
- if (!interface->ops->initialize)
- return -1;
- return interface->ops->initialize(interface, cfg);
+int interface_initialize(interface_t *interface, void *cfg) {
+ if (!interface->ops->initialize) return -1;
+ return interface->ops->initialize(interface, cfg);
}
-int
-interface_finalize(interface_t * interface)
-{
- if (!interface->ops->finalize)
- return -1;
- return interface->ops->finalize(interface);
+int interface_finalize(interface_t *interface) {
+ if (!interface->ops->finalize) return -1;
+ return interface->ops->finalize(interface);
}
-int
-interface_on_event(interface_t * interface, facelet_t * facelet)
-{
- if (!interface->ops->on_event)
- return -1;
- return interface->ops->on_event(interface, facelet);
+int interface_on_event(interface_t *interface, facelet_t *facelet) {
+ if (!interface->ops->on_event) return -1;
+ return interface->ops->on_event(interface, facelet);
}
-int
-interface_raise_event(interface_t * interface, facelet_t * facelet)
-{
- assert(interface->callback);
- return interface->callback(interface->callback_owner,
- INTERFACE_CB_TYPE_RAISE_EVENT, facelet);
+int interface_raise_event(interface_t *interface, facelet_t *facelet) {
+ assert(interface->callback);
+ return interface->callback(interface->callback_owner,
+ INTERFACE_CB_TYPE_RAISE_EVENT, facelet);
}
-int
-interface_register_fd(interface_t * interface, int fd, void * data)
-{
- assert(interface->callback);
- fd_callback_data_t fd_callback = {
- .fd = fd,
- .owner = interface,
- .callback = (fd_callback_t)interface->ops->callback,
- .data = data,
- };
- return interface->callback(interface->callback_owner,
- INTERFACE_CB_TYPE_REGISTER_FD, &fd_callback);
+int interface_register_fd(interface_t *interface, int fd, void *data) {
+ assert(interface->callback);
+ fd_callback_data_t fd_callback = {
+ .fd = fd,
+ .owner = interface,
+ .callback = (fd_callback_t)interface->ops->callback,
+ .data = data,
+ };
+ return interface->callback(interface->callback_owner,
+ INTERFACE_CB_TYPE_REGISTER_FD, &fd_callback);
}
-int
-interface_unregister_fd(interface_t * interface, int fd)
-{
- assert(interface->callback);
- fd_callback_data_t fd_callback = {
- .fd = fd,
- .owner = interface,
- .callback = NULL,
- .data = NULL,
- };
- return interface->callback(interface->callback_owner,
- INTERFACE_CB_TYPE_UNREGISTER_FD, &fd_callback);
+int interface_unregister_fd(interface_t *interface, int fd) {
+ assert(interface->callback);
+ fd_callback_data_t fd_callback = {
+ .fd = fd,
+ .owner = interface,
+ .callback = NULL,
+ .data = NULL,
+ };
+ return interface->callback(interface->callback_owner,
+ INTERFACE_CB_TYPE_UNREGISTER_FD, &fd_callback);
}
-typedef int (*interface_fd_callback_t)(interface_t * interface, int fd, void * unused);
-
-int
-interface_register_timer(interface_t * interface, unsigned delay_ms,
- interface_fd_callback_t callback, void * data)
-{
- assert(interface->callback);
- timer_callback_data_t timer_callback = {
- .delay_ms = delay_ms,
- .owner = interface,
- .callback = (fd_callback_t)callback,
- .data = data,
- };
- int rc = interface->callback(interface->callback_owner,
- INTERFACE_CB_TYPE_REGISTER_TIMER, &timer_callback);
- return rc;
+typedef int (*interface_fd_callback_t)(interface_t *interface, int fd,
+ void *unused);
+
+int interface_register_timer(interface_t *interface, unsigned delay_ms,
+ interface_fd_callback_t callback, void *data) {
+ assert(interface->callback);
+ timer_callback_data_t timer_callback = {
+ .delay_ms = delay_ms,
+ .owner = interface,
+ .callback = (fd_callback_t)callback,
+ .data = data,
+ };
+ int rc =
+ interface->callback(interface->callback_owner,
+ INTERFACE_CB_TYPE_REGISTER_TIMER, &timer_callback);
+ return rc;
}
-int
-interface_unregister_timer(interface_t * interface, int fd)
-{
- assert(interface->callback);
- return interface->callback(interface->callback_owner,
- INTERFACE_CB_TYPE_UNREGISTER_TIMER, &fd);
+int interface_unregister_timer(interface_t *interface, int fd) {
+ assert(interface->callback);
+ return interface->callback(interface->callback_owner,
+ INTERFACE_CB_TYPE_UNREGISTER_TIMER, &fd);
}