PKG_DIRS := devicemgr discoverymgr interface restapi/v1 servicemgr
# CMain target
-HEADER_FILE_C := liborchestration.h
-OBJECT_FILE_C := liborchestration.so
+ORG_HEADER_FILE_C := liborchestration.h
+HEADER_FILE_C := orchestration.h
+OBJECT_FILE_C := liborchestration.a
CMAIN_DIR := $(BASE_DIR)/src/CMain
CMAIN_INC_DIR := $(CMAIN_DIR)/inc
CMAIN_BIN_DIR := $(CMAIN_DIR)/bin
+CMAIN_LIB_DIR := $(CMAIN_DIR)/lib
## edge-orchestration shared object build
build-object:
- CGO_ENABLED=1 $(GOBUILD) -o $(CMAIN_INC_DIR)/$(OBJECT_FILE_C) -buildmode=c-shared -linkshared $(OBJ_SRC_DIR) || exit 1
+ CGO_ENABLED=1 $(GOBUILD) -o $(CMAIN_LIB_DIR)/$(OBJECT_FILE_C) -buildmode=c-archive $(OBJ_SRC_DIR) || exit 1
+ mv $(CMAIN_LIB_DIR)/$(ORG_HEADER_FILE_C) $(CMAIN_INC_DIR)/$(HEADER_FILE_C)
## go test and coverage
test:
## build clean
clean:
$(GOCLEAN)
- -rm -f $(CMAIN_DIR)/$(OBJECT_FILE_C)
- -rm -f $(CMAIN_DIR)/$(HEADER_FILE_C)
+ -rm -f $(CMAIN_INC_DIR)/$(HEADER_FILE_C)
+ -rm -f $(CMAIN_LIB_DIR)/$(OBJECT_FILE_C)
-rm -f $(BIN_DIR)/*
## check go style and static analysis
# lt; -o $@
orchestration: main.o dbus_interface.o
- $(CC) -g -Wall -Werror ./src/main.o ./src/dbus_interface.o -o ./bin/orchestration -I ./inc `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0 dbus-glib-1 dbus-1`
+ $(CC) -g -Wall -Werror ./src/main.o ./src/dbus_interface.o -o ./bin/orchestration -I ./inc `pkg-config --libs --cflags gio-2.0 gio-unix-2.0 glib-2.0 dbus-glib-1 dbus-1` -L./lib -lorchestration
main.o: ./src/main.c
$(CC) -Wall ./src/main.c -c -o ./src/main.o -I ./inc `pkg-config --libs --cflags glib-2.0`
+++ /dev/null
-/* Code generated by cmd/cgo; DO NOT EDIT. */
-
-/* package interface */
-
-
-#line 1 "cgo-builtin-prolog"
-
-#include <stddef.h> /* for ptrdiff_t below */
-
-#ifndef GO_CGO_EXPORT_PROLOGUE_H
-#define GO_CGO_EXPORT_PROLOGUE_H
-
-typedef struct { const char *p; ptrdiff_t n; } _GoString_;
-
-#endif
-
-/* Start of preamble from import "C" comments. */
-
-
-
-
-/* End of preamble from import "C" comments. */
-
-
-/* Start of boilerplate cgo prologue. */
-#line 1 "cgo-gcc-export-header-prolog"
-
-#ifndef GO_CGO_PROLOGUE_H
-#define GO_CGO_PROLOGUE_H
-
-typedef signed char GoInt8;
-typedef unsigned char GoUint8;
-typedef short GoInt16;
-typedef unsigned short GoUint16;
-typedef int GoInt32;
-typedef unsigned int GoUint32;
-typedef long long GoInt64;
-typedef unsigned long long GoUint64;
-typedef GoInt64 GoInt;
-typedef GoUint64 GoUint;
-typedef __SIZE_TYPE__ GoUintptr;
-typedef float GoFloat32;
-typedef double GoFloat64;
-typedef float _Complex GoComplex64;
-typedef double _Complex GoComplex128;
-
-/*
- static assertion to make sure the file is being used on architecture
- at least with matching size of GoInt.
-*/
-typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];
-
-typedef _GoString_ GoString;
-typedef void *GoMap;
-typedef void *GoChan;
-typedef struct { void *t; void *v; } GoInterface;
-typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
-
-#endif
-
-/* End of boilerplate cgo prologue. */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-extern int OrchestrationInit();
-
-extern int OrchestrationRequestService();
-
-#ifdef __cplusplus
-}
-#endif
--- /dev/null
+/* Code generated by cmd/cgo; DO NOT EDIT. */
+
+/* package interface */
+
+
+#line 1 "cgo-builtin-prolog"
+
+#include <stddef.h> /* for ptrdiff_t below */
+
+#ifndef GO_CGO_EXPORT_PROLOGUE_H
+#define GO_CGO_EXPORT_PROLOGUE_H
+
+typedef struct { const char *p; ptrdiff_t n; } _GoString_;
+
+#endif
+
+/* Start of preamble from import "C" comments. */
+
+
+
+
+/* End of preamble from import "C" comments. */
+
+
+/* Start of boilerplate cgo prologue. */
+#line 1 "cgo-gcc-export-header-prolog"
+
+#ifndef GO_CGO_PROLOGUE_H
+#define GO_CGO_PROLOGUE_H
+
+typedef signed char GoInt8;
+typedef unsigned char GoUint8;
+typedef short GoInt16;
+typedef unsigned short GoUint16;
+typedef int GoInt32;
+typedef unsigned int GoUint32;
+typedef long long GoInt64;
+typedef unsigned long long GoUint64;
+typedef GoInt64 GoInt;
+typedef GoUint64 GoUint;
+typedef __SIZE_TYPE__ GoUintptr;
+typedef float GoFloat32;
+typedef double GoFloat64;
+typedef float _Complex GoComplex64;
+typedef double _Complex GoComplex128;
+
+/*
+ static assertion to make sure the file is being used on architecture
+ at least with matching size of GoInt.
+*/
+typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];
+
+typedef _GoString_ GoString;
+typedef void *GoMap;
+typedef void *GoChan;
+typedef struct { void *t; void *v; } GoInterface;
+typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;
+
+#endif
+
+/* End of boilerplate cgo prologue. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+extern int OrchestrationInit();
+
+extern int OrchestrationRequestService();
+
+#ifdef __cplusplus
+}
+#endif
#include <gio/gio.h>
#include <dbus_interface.h>
+#include <orchestration.h>
void request_cb(char* app_name, char* service_info){
printf("app_name : %s\n", app_name);
int main(void){
int result;
GMainLoop *loop;
+ OrchestrationInit();
result = orch_dbus_initialize(request_cb);
if(result != ORCH_ERROR_NONE){
printf("dbus error\n");