Add basic structure of pkginfo-server
authorJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 18 Jan 2021 06:25:06 +0000 (15:25 +0900)
committer연정현/Tizen Platform Lab(SR)/Staff Engineer/삼성전자 <jungh.yeon@samsung.com>
Wed, 20 Jan 2021 09:48:40 +0000 (18:48 +0900)
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
CMakeLists.txt
packaging/pkgmgr-info.spec
src/CMakeLists.txt [new file with mode: 0644]
src/server/CMakeLists.txt [new file with mode: 0644]
src/server/abstract_request_handler.h [new file with mode: 0644]
src/server/get_appinfo_request_handler.cc [new file with mode: 0644]
src/server/get_appinfo_request_handler.h [new file with mode: 0644]
src/server/main.cc [new file with mode: 0644]

index d119ce8..e77f335 100644 (file)
@@ -1,6 +1,6 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
-PROJECT(pkgmgr-info C)
+PROJECT(pkgmgr-info)
 
 INCLUDE(TizenCommon)
 
@@ -38,19 +38,11 @@ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
 ADD_SUBDIRECTORY(parser)
 ADD_SUBDIRECTORY(tool)
 ADD_SUBDIRECTORY(plugin_list)
-
-## build pkgmgr-info library
-AUX_SOURCE_DIRECTORY(src SRCS)
-ADD_LIBRARY(pkgmgr-info SHARED ${SRCS})
-
-SET_TARGET_PROPERTIES(pkgmgr-info PROPERTIES SOVERSION ${MAJORVER})
-SET_TARGET_PROPERTIES(pkgmgr-info PROPERTIES VERSION ${FULLVER})
-TARGET_LINK_LIBRARIES(pkgmgr-info pkgmgr_parser ${libpkgs_LDFLAGS})
+ADD_SUBDIRECTORY(src)
 
 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/pkgmgr-info.pc.in ${CMAKE_BINARY_DIR}/pkgmgr-info.pc @ONLY)
 CONFIGURE_FILE(pkg_db_version.txt.in pkg_db_version.txt @ONLY)
 
-INSTALL(TARGETS pkgmgr-info DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgmgr-info.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION include)
 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkg_db_version.txt DESTINATION ${SYSCONFDIR}/package-manager/)
index c2f10b8..460afd1 100644 (file)
@@ -76,6 +76,7 @@ ln -sf ../pkg-db-recovery.service %{buildroot}%{_unitdir}/basic.target.wants/pkg
 %{_libdir}/libpkgmgr-info.so.*
 %{_bindir}/pkg-db-recovery
 %{_bindir}/pkg-db-creator
+%{_bindir}/pkginfo-server
 %{_unitdir}/pkg-db-recovery.service
 %{_unitdir}/basic.target.wants/pkg-db-recovery.service
 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644 (file)
index 0000000..7e5e0ee
--- /dev/null
@@ -0,0 +1,12 @@
+## build pkgmgr-info library
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} SRCS)
+ADD_LIBRARY(pkgmgr-info SHARED ${SRCS})
+
+SET_TARGET_PROPERTIES(pkgmgr-info PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(pkgmgr-info PROPERTIES VERSION ${FULLVER})
+TARGET_LINK_LIBRARIES(pkgmgr-info pkgmgr_parser ${libpkgs_LDFLAGS})
+
+INSTALL(TARGETS pkgmgr-info DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
+
+ADD_SUBDIRECTORY(server)
+#ADD_SUBDIRECTORY(client)
\ No newline at end of file
diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt
new file mode 100644 (file)
index 0000000..b3b42aa
--- /dev/null
@@ -0,0 +1,14 @@
+## build pkginfo-server binary
+SET(PKGINFO_SERVER "pkginfo-server")
+SET(PKGINFO_SERVER_LIB "pkginfo-server-lib")
+
+AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR} PKGINFO_SERVER_SRCS)
+ADD_LIBRARY(${PKGINFO_SERVER_LIB} SHARED
+ ${PKGINFO_SERVER_SRCS})
+ADD_EXECUTABLE(${PKGINFO_SERVER} "main.cc")
+
+SET_TARGET_PROPERTIES(${PKGINFO_SERVER} PROPERTIES LINKER_LANGUAGE CXX)
+
+TARGET_LINK_LIBRARIES(${PKGINFO_SERVER} PRIVATE ${PKGINFO_SERVER_LIB})
+INSTALL(TARGETS ${PKGINFO_SERVER} DESTINATION bin)
+
diff --git a/src/server/abstract_request_handler.h b/src/server/abstract_request_handler.h
new file mode 100644 (file)
index 0000000..95dee98
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by an apache-2.0 license that can be
+// found in the LICENSE file.
+
+#ifndef SERVER_ABSTRACT_REQUEST_HANDLER_H_
+#define SERVER_ABSTRACT_REQUEST_HANDLER_H_
+
+#include <string>
+
+namespace pkgmgr_server {
+namespace request_handler {
+
+class AbstractRequestHandler {
+ public:
+  virtual bool HandleRequest(std::string data);
+
+  virtual std::string GetResult();
+};
+
+}  // namespace request_handler
+}  // namespace pkgmgr_server
+
+#endif  // SERVER_ABSTRACT_REQUEST_HANDLER_H_
diff --git a/src/server/get_appinfo_request_handler.cc b/src/server/get_appinfo_request_handler.cc
new file mode 100644 (file)
index 0000000..cc6ec89
--- /dev/null
@@ -0,0 +1,23 @@
+// Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by an apache-2.0 license that can be
+// found in the LICENSE file.
+
+#include "get_appinfo_request_handler.h"
+
+#include <string>
+
+namespace pkgmgr_server {
+namespace request_handler {
+
+bool GetAppinfoRequestHandler::HandleRequest(std::string data) {
+  return true;
+}
+
+std::string GetAppinfoRequestHandler::GetResult() {
+  std::string tmp_result("tmp_result");
+
+  return tmp_result;
+}
+
+}  // namespace request_handler
+}  // namespace pkgmgr_server
diff --git a/src/server/get_appinfo_request_handler.h b/src/server/get_appinfo_request_handler.h
new file mode 100644 (file)
index 0000000..0a7a3e5
--- /dev/null
@@ -0,0 +1,25 @@
+// Copyright (c) 2021 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by an apache-2.0 license that can be
+// found in the LICENSE file.
+
+#ifndef SERVER_GET_APPINFO_REQUEST_HANDLER_H_
+#define SERVER_GET_APPINFO_REQUEST_HANDLER_H_
+
+#include "abstract_request_handler.h"
+
+#include <string>
+
+namespace pkgmgr_server {
+namespace request_handler {
+
+class GetAppinfoRequestHandler : AbstractRequestHandler{
+ public:
+  bool HandleRequest(std::string data);
+
+  std::string GetResult();
+};
+
+}  // namespace request_handler
+}  // namespace pkgmgr_server
+
+#endif  // SERVER_GET_APPINFO_REQUEST_HANDLER_H_
diff --git a/src/server/main.cc b/src/server/main.cc
new file mode 100644 (file)
index 0000000..9a353ab
--- /dev/null
@@ -0,0 +1,7 @@
+#include <iostream>
+
+int main() {
+  std::cout << "main start" << std::endl;
+
+  return 0;
+}
\ No newline at end of file