install -d $(DESTDIR)/usr/share/dbus-1/system-services
install -d $(DESTDIR)/etc/dbus-1/system.d
install -m 755 $(CMAIN_BIN_DIR)/$(CMAIN_BIN_FILE) $(DESTDIR)/usr/bin/$(CMAIN_BIN_FILE)
- install -m 755 $(LIBPKG_SAMPLE_DIR)/output/orchestration_sample $(DESTDIR)/usr/bin/orchestration_sample
- install -m 755 $(LIBPKG_SAMPLE_DIR)/output/orchestration_chrome_sample $(DESTDIR)/usr/bin/orchestration_chrome_sample
+ install -m 755 $(LIBPKG_SAMPLE_DIR)/exec_browser.sh $(DESTDIR)/usr/bin/orchestration_exec_browser.sh
+ install -m 755 $(LIBPKG_SAMPLE_DIR)/output/orchestration_native_sample $(DESTDIR)/usr/bin/orchestration_native_sample
+ install -m 755 $(LIBPKG_SAMPLE_DIR)/output/orchestration_native_chromium_sample $(DESTDIR)/usr/bin/orchestration_native_chromium_sample
install -m 755 $(LIBPKG_SAMPLE_DIR)/output/orchestration_container_sample $(DESTDIR)/usr/bin/orchestration_container_sample
install -m 755 $(LIBPKG_SAMPLE_DIR)/output/orchestration_android_sample $(DESTDIR)/usr/bin/orchestration_android_sample
+ install -m 755 $(LIBPKG_SAMPLE_DIR)/output/orchestration_android_chromium_sample $(DESTDIR)/usr/bin/orchestration_android_chromium_sample
install -m 644 $(BASE_DIR)/$(SERVICE_FILE) $(DESTDIR)/usr/lib/systemd/system/$(SERVICE_FILE)
ln -s ../$(SERVICE_FILE) $(DESTDIR)/usr/lib/systemd/system/multi-user.target.wants/
build-sample: build
mkdir -p $(SAMPLE_DIR)/output
- $(CC) -Wall -fPIE -pie $(SAMPLE_DIR)/main.c -o $(SAMPLE_DIR)/output/orchestration_sample -I$(INC_DIR) -L$(LIB_DIR) -lorchestration-client `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0`
- $(CC) -Wall -fPIE -pie $(SAMPLE_DIR)/main_chrome.c -o $(SAMPLE_DIR)/output/orchestration_chrome_sample -I$(INC_DIR) -L$(LIB_DIR) -lorchestration-client `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0`
+ $(CC) -Wall -fPIE -pie $(SAMPLE_DIR)/main_native.c -o $(SAMPLE_DIR)/output/orchestration_native_sample -I$(INC_DIR) -L$(LIB_DIR) -lorchestration-client `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0`
+ $(CC) -Wall -fPIE -pie $(SAMPLE_DIR)/main_native_chromium.c -o $(SAMPLE_DIR)/output/orchestration_native_chromium_sample -I$(INC_DIR) -L$(LIB_DIR) -lorchestration-client `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0`
$(CC) -Wall -fPIE -pie $(SAMPLE_DIR)/main_container.c -o $(SAMPLE_DIR)/output/orchestration_container_sample -I$(INC_DIR) -L$(LIB_DIR) -lorchestration-client `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0`
$(CC) -Wall -fPIE -pie $(SAMPLE_DIR)/main_android.c -o $(SAMPLE_DIR)/output/orchestration_android_sample -I$(INC_DIR) -L$(LIB_DIR) -lorchestration-client `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0`
+ $(CC) -Wall -fPIE -pie $(SAMPLE_DIR)/main_android_chromium.c -o $(SAMPLE_DIR)/output/orchestration_android_chromium_sample -I$(INC_DIR) -L$(LIB_DIR) -lorchestration-client `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0`
-rm -f ./sample/*.o
build:
--- /dev/null
+/*******************************************************************************
+ * Copyright 2019 Samsung Electronics All Rights Reserved.
+ *
+ * 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
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *******************************************************************************/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <orchestration_client.h>
+
+#include <unistd.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <netinet/in.h>
+#include <net/if.h>
+#include <arpa/inet.h>
+
+#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
+#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
+
+#define SERVICE_NAME "chromium-renderer"
+#define PACKAGE_NAME "org.chromium.chrome"
+
+int get_ip_addr(char ipstr[40]) {
+ int fd;
+ struct ifreq ifr;
+ char *addr = {0, };
+
+ fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if (fd == -1) {
+ printf("socket failed");
+ exit(EXIT_FAILURE);
+ }
+ ifr.ifr_addr.sa_family = AF_INET;
+
+ /* I want IP address attached to "wlan0" */
+ strncpy(ifr.ifr_name, "wlan0", IFNAMSIZ-1);
+ ioctl(fd, SIOCGIFADDR, &ifr);
+ close(fd);
+
+ addr = inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr);
+ strncpy(ipstr, addr, MIN(strlen(addr), 40 - 1));
+ return 0;
+}
+
+void status_cb(orchestration_service_status_e staus, void* user_data)
+{
+
+}
+
+int main() {
+ char exec_param[512] = {0, };
+ char params[256] = " --type=renderer --server-address=";
+ char ipstr[40] = {0, };
+ if (get_ip_addr(ipstr) != 0) {
+ printf("error from getting ip addr\n");
+ return 0;
+ }
+ strncat(params, ipstr, strlen(ipstr));
+
+ strncat(exec_param, PACKAGE_NAME, strlen(PACKAGE_NAME));
+ strncat(exec_param, params, strlen(params));
+ orchestration_service_info_s service_info;
+ service_info.count = 1;
+ service_info.services[0].exec_type = "android";
+ service_info.services[0].exec_parameter = exec_param;
+ printf("service_info.exec_parameter: %s\n", service_info.services[0].exec_parameter);
+ orchestration_request_service(SERVICE_NAME, service_info, status_cb, NULL);
+ return 0;
+}
\ No newline at end of file
%attr(755,system_fw,system_fw)%{_libdir}/pkgconfig/%{name}.pc
%attr(755,system_fw,system_fw)%{_includedir}/%{name}/orchestration_client.h
# orchestration sample
-%attr(755,system_fw,system_fw)%{_bindir}/orchestration_sample
-%attr(755,system_fw,system_fw)%{_bindir}/orchestration_chrome_sample
-%attr(755,system_fw,system_fw)%{_bindir}/orchestration_container_sample
-%attr(755,system_fw,system_fw)%{_bindir}/orchestration_android_sample
+%attr(755,system_fw,system_fw)%{_bindir}/orchestration_*
%attr(755,system_fw,system_fw)%{_sysconfdir}/%{name}/apps/myscoring/*
%attr(755,system_fw,system_fw)%{_sysconfdir}/%{name}/apps/myscoring2/*
%attr(755,system_fw,system_fw)%{_sysconfdir}/%{name}/apps/Renderer/*
-