Last active
January 2, 2016 22:29
-
-
Save streamer45/8370328 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/lib/krad_compositor/krad_compositor.h b/lib/krad_compositor/krad_compositor.h | |
index 94f6822..fabec11 100644 | |
--- a/lib/krad_compositor/krad_compositor.h | |
+++ b/lib/krad_compositor/krad_compositor.h | |
@@ -69,12 +69,21 @@ struct kr_compositor { | |
FT_Library ftlib; | |
}; | |
+typedef enum { | |
+ KR_COMP_GET = 1, | |
+ KR_COMP_PUT, | |
+ KR_COMP_POST, | |
+ KR_COMP_PATCH, | |
+ KR_COMP_DELETE | |
+} kr_comp_app_method; | |
+ | |
struct kr_compositor_event { | |
kr_compositor_path *path; | |
void *user; | |
void *user_path; | |
- //kr_app_method method; | |
- /* info struct */ | |
+ kr_comp_app_method method; | |
+ kr_compositor_path_patch patch; | |
+ kr_compositor_info info; | |
}; | |
int kr_compositor_destroy(kr_compositor *compositor); | |
diff --git a/lib/krad_compositor/krad_compositor_path.c b/lib/krad_compositor/krad_compositor_path.c | |
index 4beeccb..75be3cf 100644 | |
--- a/lib/krad_compositor/krad_compositor_path.c | |
+++ b/lib/krad_compositor/krad_compositor_path.c | |
@@ -220,6 +220,8 @@ kr_compositor_path *kr_compositor_mkio(kr_compositor *compositor, | |
/* do event callback */ | |
event.user = compositor->user; | |
event.user_path = path->control_user; | |
+ event.path = path; | |
+ event.method = KR_COMP_PUT; | |
compositor->event_cb(&event); | |
return path; | |
} | |
diff --git a/lib/krad_radio/krad_radio.c b/lib/krad_radio/krad_radio.c | |
index c6dcecb..60157e6 100644 | |
--- a/lib/krad_radio/krad_radio.c | |
+++ b/lib/krad_radio/krad_radio.c | |
@@ -29,13 +29,26 @@ static void compositor_event(kr_compositor_event *event) { | |
kr_route_setup route_setup; | |
radio = (kr_radio *)event->user; | |
printk("got a compositor event"); | |
- /* the following should only happen on a create event */ | |
- route_setup.ptr = radio->compositor; | |
- route_setup.name = event->user_path; | |
- route_setup.ctx = event->path; | |
- route_setup.payload_type = PL_KR_COMPOSITOR_PATH_INFO; | |
- kr_compositor_path_info_get(event->path, &route_setup.payload.compositor_path_info); | |
- kr_app_server_route_create(radio->app, &route_setup); | |
+ | |
+ switch (event->method) { | |
+ case KR_PUT: { | |
+ route_setup.ptr = radio->compositor; | |
+ route_setup.name = event->user_path; | |
+ route_setup.ctx = event->path; | |
+ route_setup.payload_type = PL_KR_COMPOSITOR_PATH_INFO; | |
+ kr_compositor_path_info_get(event->path, &route_setup.payload.compositor_path_info); | |
+ kr_app_server_route_create(radio->app, &route_setup); | |
+ break; | |
+ } | |
+ case KR_DELETE: { | |
+ break; | |
+ } | |
+ case KR_PATCH: { | |
+ break; | |
+ } | |
+ default: break; | |
+ } | |
+ | |
} | |
static void xpdr_event(kr_transponder_event *event) { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment