PKG_CHECK_MODULES(GLIB_DEPS REQUIRED glib-2.0)
PKG_CHECK_MODULES(GIO_DEPS REQUIRED gio-2.0)
PKG_CHECK_MODULES(RPC_PORT_DEPS REQUIRED rpc-port)
+PKG_CHECK_MODULES(CAPI_APPFW_EVENT_DEPS REQUIRED capi-appfw-event)
PKG_CHECK_MODULES(PKGMGR_PARSER_DEPS REQUIRED pkgmgr-parser)
PKG_CHECK_MODULES(PKGMGR_INFO_DEPS REQUIRED pkgmgr-info)
PKG_CHECK_MODULES(INIPARSER_DEPS REQUIRED iniparser)
PLATFORM_CONFIG_DEPS
MINIZIP_DEPS
RPC_PORT_DEPS
+ CAPI_APPFW_EVENT_DEPS
)
TARGET_LINK_LIBRARIES(${PKGMGR_CLIENT} PUBLIC "dl")
pkgmgr-info
libtzplatform-config
rpc-port
+ capi-appfw-event
)
FOREACH(FLAGS ${INSTALLER_DEPS_CFLAGS})
Name: package manager installer library
Description: SLP package manager's installer lib for each backends
Version: @FULLVER@
-Requires:
+Requires: capi-appfw-event
Libs: -L${libdir} -lpkgmgr_installer
Cflags: -I${includedir}/pkgmgr
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(minizip)
BuildRequires: pkgconfig(rpc-port)
+BuildRequires: pkgconfig(capi-appfw-event)
BuildRequires: pkgconfig(gmock)
BuildRequires: pkgmgr-info-parser-devel
BuildRequires: pkgmgr-info-parser
GMOCK_DEPS
GLIB_DEPS
RPC_PORT_DEPS
+ CAPI_APPFW_EVENT_DEPS
DLOG_DEPS
BUNDLE_DEPS
)
--- /dev/null
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ *
+ * 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 "mock/app_event_mock.hh"
+#include "mock/mock_hook.hh"
+#include "mock/test_fixture.hh"
+
+extern "C" int event_add_event_handler(const char *event_name,
+ event_cb callback, void *user_data, event_handler_h *event_handler) {
+ return MOCK_HOOK_P4(AppEventMock, event_add_event_handler,
+ event_name, callback, user_data, event_handler);
+}
+
+extern "C" int event_remove_event_handler(event_handler_h event_handler) {
+ return MOCK_HOOK_P1(AppEventMock, event_remove_event_handler,
+ event_handler);
+}
+
+extern "C" int event_publish_app_event(const char *event_name,
+ bundle *event_data) {
+ return MOCK_HOOK_P2(AppEventMock, event_publish_app_event,
+ event_name, event_data);
+}
--- /dev/null
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ *
+ * 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.
+ */
+
+#ifndef UNIT_TESTS_MOCK_APP_EVENT_MOCK_HH_
+#define UNIT_TESTS_MOCK_APP_EVENT_MOCK_HH_
+
+#include <app_event.h>
+#include <gmock/gmock.h>
+
+#include "mock/module_mock.hh"
+
+class AppEventMock : public virtual ModuleMock {
+ public:
+ AppEventMock() {}
+ virtual ~AppEventMock() {}
+
+ MOCK_METHOD(int, event_add_event_handler, (const char*,
+ event_cb, void*, event_handler_h*));
+ MOCK_METHOD(int, event_remove_event_handler, (event_handler_h));
+ MOCK_METHOD(int, event_publish_app_event, (const char*, bundle*));
+};
+
+#endif // UNIT_TESTS_MOCK_APP_EVENT_MOCK_HH_
#include <gmock/gmock.h>
#include "unit_tests/mock/rpc_port_mock.hh"
+#include "unit_tests/mock/app_event_mock.hh"
#include "unit_tests/mock/test_fixture.hh"
using ::testing::_;
using ::testing::Invoke;
namespace {
-class Mocks : public ::testing::NiceMock<RpcPortMock> {};
+class Mocks : public ::testing::NiceMock<RpcPortMock>,
+ virtual public ::testing::NiceMock<AppEventMock> {};
} // namespace