Changed DIAL server to control Basil rather than Oregano so that commands can be issued when third-party apps are running
Change-Id: I98764eb8a468a8ca72c2e510a082e0926eeeac14
diff --git a/src/server/main.c b/src/server/main.c
index 200e937..aec96c5 100644
--- a/src/server/main.c
+++ b/src/server/main.c
@@ -58,9 +58,6 @@
static char *spAppFiberTV = "miniclient";
static char *spAppFiberTVMatch = NULL;
-static char *spAppOregano = "browser_shell";
-static char *spAppOreganoMatch = "file:///app/oregano/";
-
// Adding 20 bytes for prepended source_type for Netflix
static char sQueryParam[DIAL_MAX_PAYLOAD+20];
@@ -371,27 +368,20 @@
}
}
-static DIALStatus oregano_start(DIALServer *ds, const char *appname,
+static DIALStatus basil_start(DIALServer *ds, const char *appname,
const char *args, size_t arglen,
DIAL_run_t *run_id, void *callback_data) {
fprintf(stderr, "** LAUNCH GoogleFiberTV **\n");
- // TODO(pbaldwin): Add ability to start Oregano when not already running
- pid_t pid;
- if ((pid = isAppRunning( spAppOregano, spAppOreganoMatch ))) {
- *run_id = (void *)(long)pid;
- return kDIALStatusRunning;
- } else {
- return kDIALStatusStopped;
- }
+ return kDIALStatusRunning; // Basil is always running
}
-static DIALStatus oregano_status(DIALServer *ds, const char *appname,
+static DIALStatus basil_status(DIALServer *ds, const char *appname,
DIAL_run_t run_id, int *pCanStop, void *callback_data) {
- *pCanStop = 1;
- return isAppRunning( spAppOregano, spAppOreganoMatch ) ? kDIALStatusRunning : kDIALStatusStopped;
+ *pCanStop = 0;
+ return kDIALStatusRunning; // Basil is always running
}
-static struct CastServiceData oregano_service_data(DIALServer *ds, const char *appname,
+static struct CastServiceData basil_service_data(DIALServer *ds, const char *appname,
DIAL_run_t run_id, void *callback_data) {
struct CastServiceData serviceData;
serviceData.connection_svc_host = spIpAddress;
@@ -401,13 +391,10 @@
return serviceData;
}
-static void oregano_stop(DIALServer *ds, const char *appname, DIAL_run_t run_id,
+static void basil_stop(DIALServer *ds, const char *appname, DIAL_run_t run_id,
void *callback_data) {
- fprintf(stderr, "** KILL GoogleFiberTV **\n");
- pid_t pid;
- if ((pid = isAppRunning( spAppOregano, spAppOreganoMatch ))) {
- kill(pid, SIGTERM);
- }
+ fprintf(stderr, "** KILL GoogleFiberTV (ignored) **\n");
+ // Basil cannot be killed, but log the attempt
}
void run_ssdp(int port, const char *pFriendlyName, const char * pModelName, const char *pUuid, const char **ppIpAddress);
@@ -440,12 +427,12 @@
struct DIALAppCallbacks cb_nf = {netflix_start, netflix_stop, netflix_status, NULL, NULL};
struct DIALAppCallbacks cb_yt = {youtube_start, youtube_stop, youtube_status, NULL, NULL};
struct DIALAppCallbacks cb_ft = {fibertv_start, fibertv_stop, fibertv_status, NULL, NULL};
- struct DIALAppCallbacks cb_or = {oregano_start, oregano_stop, oregano_status, oregano_service_data, NULL};
+ struct DIALAppCallbacks cb_gf = {basil_start, basil_stop, basil_status, basil_service_data, NULL};
DIAL_register_app(ds, "Netflix", &cb_nf, NULL);
DIAL_register_app(ds, "YouTube", &cb_yt, NULL);
if (strcmp(spUiType, "oregano") == 0) {
- DIAL_register_app(ds, "GoogleFiberTV", &cb_or, NULL);
+ DIAL_register_app(ds, "GoogleFiberTV", &cb_gf, NULL);
} else {
DIAL_register_app(ds, "FiberTV", &cb_ft, NULL);
}