summaryrefslogtreecommitdiffstats
path: root/meta-phosphor/common/recipes-phosphor/examples/obmc-phosphor-example-sdbus/obmc-phosphor-example-sdbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'meta-phosphor/common/recipes-phosphor/examples/obmc-phosphor-example-sdbus/obmc-phosphor-example-sdbus.c')
-rw-r--r--meta-phosphor/common/recipes-phosphor/examples/obmc-phosphor-example-sdbus/obmc-phosphor-example-sdbus.c111
1 files changed, 0 insertions, 111 deletions
diff --git a/meta-phosphor/common/recipes-phosphor/examples/obmc-phosphor-example-sdbus/obmc-phosphor-example-sdbus.c b/meta-phosphor/common/recipes-phosphor/examples/obmc-phosphor-example-sdbus/obmc-phosphor-example-sdbus.c
deleted file mode 100644
index 769a2081f..000000000
--- a/meta-phosphor/common/recipes-phosphor/examples/obmc-phosphor-example-sdbus/obmc-phosphor-example-sdbus.c
+++ /dev/null
@@ -1,111 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <systemd/sd-bus.h>
-
-static int method_echo(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
- char *str;
- const char *intf = sd_bus_message_get_interface(m),
- *path = sd_bus_message_get_path(m);
- sd_bus *bus = sd_bus_message_get_bus(m);
-
- char response[512] = {0};
- int r;
-
- /* Read the parameters */
- r = sd_bus_message_read(m, "s", &str);
- if (r < 0) {
- fprintf(stderr, "Failed to parse parameters: %s\n", strerror(-r));
- return r;
- }
-
- r = sd_bus_emit_signal(bus, path, intf, "MethodInvoked", "ss",
- "Echo method was invoked", path);
- if (r < 0) {
- fprintf(stderr, "Failed to emit signal: %s\n", strerror(-r));
- return r;
- }
-
- strncat(response, path, 128);
- strcat(response, " says ");
- strncat(response, str, 128);
-
- /* Reply with the response */
- return sd_bus_reply_method_return(m, "s", &response);
-}
-
-static const sd_bus_vtable echo_vtable[] = {
- SD_BUS_VTABLE_START(0),
- SD_BUS_METHOD("Echo", "s", "s", method_echo, SD_BUS_VTABLE_UNPRIVILEGED),
- SD_BUS_SIGNAL("MethodInvoked", "s", 0),
- SD_BUS_VTABLE_END
-};
-
-int main(int argc, char *argv[]) {
- sd_bus_slot *slot = NULL;
- sd_bus *bus = NULL;
- int r;
- char **acquired = NULL, **activatable = NULL, **i;
-
- /* Connect to the user bus this time */
- r = sd_bus_open_system(&bus);
- if (r < 0) {
- fprintf(stderr, "Failed to connect to system bus: %s\n", strerror(-r));
- goto finish;
- }
-
- /* Install an object */
- r = sd_bus_add_object_vtable(bus,
- &slot,
- "/org/openbmc/examples/path0/SDBusObj", /* object path */
- "org.openbmc.examples.Echo", /* interface name */
- echo_vtable,
- NULL);
- if (r < 0) {
- fprintf(stderr, "Failed to issue method call: %s\n", strerror(-r));
- goto finish;
- }
-
- /* Install an object */
- r = sd_bus_add_object_vtable(bus,
- &slot,
- "/org/openbmc/examples/path1/SDBusObj", /* object path */
- "org.openbmc.examples.Echo", /* interface name */
- echo_vtable,
- NULL);
- if (r < 0) {
- fprintf(stderr, "Failed to issue method call: %s\n", strerror(-r));
- goto finish;
- }
-
- /* Take a well-known service name so that clients can find us */
- r = sd_bus_request_name(bus, "org.openbmc.examples.SDBusService", 0);
- if (r < 0) {
- fprintf(stderr, "Failed to acquire service name: %s\n", strerror(-r));
- goto finish;
- }
-
- for (;;) {
- /* Process requests */
- r = sd_bus_process(bus, NULL);
- if (r < 0) {
- fprintf(stderr, "Failed to process bus: %s\n", strerror(-r));
- goto finish;
- }
- if (r > 0) /* we processed a request, try to process another one, right-away */
- continue;
-
- /* Wait for the next request to process */
- r = sd_bus_wait(bus, (uint64_t) -1);
- if (r < 0) {
- fprintf(stderr, "Failed to wait on bus: %s\n", strerror(-r));
- goto finish;
- }
- }
-
-finish:
- sd_bus_slot_unref(slot);
- sd_bus_unref(bus);
-
- return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
-}
OpenPOWER on IntegriCloud