[ITC][capi-ui-sticker][ACR-1423][Add new module capi-ui-sticker testcase] 26/215326/6
authormanoj <manoj.g2@samsung.com>
Mon, 7 Oct 2019 05:30:17 +0000 (11:00 +0530)
committershobhit verma <shobhit.v@samsung.com>
Fri, 11 Oct 2019 04:26:52 +0000 (04:26 +0000)
Change-Id: Id9604f35981e59c949d5bf2f9b72890e2ce602a4
Signed-off-by: manoj <manoj.g2@samsung.com>
14 files changed:
packaging/itc/native-capi-ui-sticker-itc.spec [new file with mode: 0755]
packaging/itc/native-capi-ui-sticker-itc.xml [new file with mode: 0755]
src/itc/capi-ui-sticker/CMakeLists.txt [new file with mode: 0644]
src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.c [new file with mode: 0644]
src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.h [new file with mode: 0644]
src/itc/capi-ui-sticker/ITs-capi-ui-sticker-consumer.c [new file with mode: 0644]
src/itc/capi-ui-sticker/ITs-capi-ui-sticker-provider.c [new file with mode: 0644]
src/itc/capi-ui-sticker/ITs-capi-ui-sticker.c [new file with mode: 0644]
src/itc/capi-ui-sticker/res/test.json [new file with mode: 0644]
src/itc/capi-ui-sticker/res/test.png [new file with mode: 0644]
src/itc/capi-ui-sticker/tct-capi-ui-sticker-native.c [new file with mode: 0644]
src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_mobile.h [new file with mode: 0644]
src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_wearable.h [new file with mode: 0644]
tct_unsupported.txt

diff --git a/packaging/itc/native-capi-ui-sticker-itc.spec b/packaging/itc/native-capi-ui-sticker-itc.spec
new file mode 100755 (executable)
index 0000000..4adc3b6
--- /dev/null
@@ -0,0 +1,80 @@
+%define MODULE_NAME capi-ui-sticker
+%define MODULE_LIBNAME capi-ui-sticker
+Name:       native-%{MODULE_NAME}-itc
+Summary:    Native API Integration TC (%{name})
+Version:    0.1
+Release:    0
+Group:      Development/Tools
+License:    Apache-2.0
+Source0:    %{name}-%{version}.tar.gz
+BuildRequires: pkgconfig(%{MODULE_LIBNAME})
+BuildRequires: pkgconfig(capi-appfw-application)
+BuildRequires: pkgconfig(elementary)
+BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(libsystemd-journal)
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: cmake
+BuildRequires: pkgconfig(bundle)
+BuildRequires: pkgconfig(capi-system-info)
+
+%description
+Native API Integration TC (%{name})
+
+%prep
+%setup -q
+
+%build
+
+%define PREFIX "%{_libdir}/%{name}"
+
+export LDFLAGS+="-Wl,--rpath=%{PREFIX} -Wl,--as-needed"
+
+%if %{?ASAN_BUILD:1}0
+       %if %{?DEVICE_BUILD_TYPE_MOBILE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="mobile" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_WEARABLE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="wearable" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TV:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="tv" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TIZENIOT:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="tizeniot" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+%else
+       %if %{?DEVICE_BUILD_TYPE_MOBILE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="mobile" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_WEARABLE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="wearable" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TV:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="tv" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TIZENIOT:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="itc" -DDEVICE_BUILD_TYPE="tizeniot" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+%endif
+
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf %{buildroot}
+%make_install
+mkdir -p %{buildroot}/usr/share/license
+cp LICENSE %{buildroot}/usr/share/license/%{name}
+
+mkdir -p %{buildroot}/usr/share/packages/
+cp packaging/itc/native-%{MODULE_NAME}-itc.xml %{buildroot}/usr/share/packages/
+mkdir -p %{buildroot}%{APP_PATH}%{name}/bin
+#cp templates/external_wrapper.sh %{buildroot}%{APP_PATH}%{name}/bin
+%post
+
+%postun
+
+
+%files
+%{APP_PATH}%{name}/*
+/usr/share/packages/native-%{MODULE_NAME}-itc.xml
+/usr/share/license/%{name}
diff --git a/packaging/itc/native-capi-ui-sticker-itc.xml b/packaging/itc/native-capi-ui-sticker-itc.xml
new file mode 100755 (executable)
index 0000000..89054e6
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="native-capi-ui-sticker-itc" version="0.1.0" api-version="3.0">
+    <label>NativeDlogTest</label>
+    <author email="mymail@tizentest.com" href="www.tizentest.com">test</author>
+    <description>Native API test Application</description>
+    <ui-application appid="native.capi-ui-sticker-itc" exec="/usr/apps/native-capi-ui-sticker-itc/bin/tct-capi-ui-sticker-native" nodisplay="false" multiple="false" type="capp" taskmanage="true">
+    <background-category value="background-network"/>
+       <background-category value="download"/>
+       <background-category value="iot-communication"/>
+       <background-category value="location"/>
+       <background-category value="media"/>
+       <background-category value="sensor"/>
+    </ui-application>
+       <privileges>
+                <privilege>http://tizen.org/privilege/mediastorage</privilege>
+        </privileges>
+</manifest>
diff --git a/src/itc/capi-ui-sticker/CMakeLists.txt b/src/itc/capi-ui-sticker/CMakeLists.txt
new file mode 100644 (file)
index 0000000..239b1e5
--- /dev/null
@@ -0,0 +1,42 @@
+SET(PKG_NAME "capi-ui-sticker")
+
+SET(EXEC_NAME "tct-${PKG_NAME}-native")
+SET(RPM_NAME "native-${PKG_NAME}-itc")
+
+SET(CAPI_LIB "capi-ui-sticker")
+SET(TC_SOURCES
+       ITs-capi-ui-sticker-common.c
+       ITs-capi-ui-sticker.c
+       ITs-capi-ui-sticker-provider.c
+       ITs-capi-ui-sticker-consumer.c
+)
+
+PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
+    ${CAPI_LIB}
+       capi-appfw-application
+       libsystemd-journal
+       bundle
+       glib-2.0
+       capi-system-info
+)
+
+INCLUDE_DIRECTORIES(
+    ${${CAPI_LIB}_INCLUDE_DIRS}
+)
+
+ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.c ${TC_SOURCES} ${COMMON_FILE})
+TARGET_LINK_LIBRARIES(${EXEC_NAME}
+    ${${CAPI_LIB}_LIBRARIES}
+)
+
+INSTALL(PROGRAMS ${EXEC_NAME}
+    DESTINATION ${BIN_DIR}/${RPM_NAME}/bin
+)
+
+IF( DEFINED ASAN )
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -pie -g -fsanitize=address -fsanitize-recover=address -U_FORTIFY_SOURCE -fno-omit-frame-pointer")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=/usr/lib -Wl,-fsanitize=address")
+ELSE()
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g -fPIE -Wall")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=/usr/lib -pie")
+ENDIF()
diff --git a/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.c b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.c
new file mode 100644 (file)
index 0000000..59fb89a
--- /dev/null
@@ -0,0 +1,68 @@
+//
+// Copyright (c) 2019 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 "ITs-capi-ui-sticker-common.h"
+
+/** @addtogroup itc-capi-ui-sticker
+*  @ingroup itc
+*  @{
+*/
+
+//Add helper function definitions here
+
+/**
+* @function            Timeout
+* @description         Called if some callback is not invoked for a particular timeout
+* @parameter           gpointer data
+* @return                      gboolean
+*/
+gboolean Timeout(gpointer data)
+{
+       GMainLoop *pMainLoop = NULL;
+       pMainLoop = (GMainLoop *)data;
+       if ( pMainLoop != NULL )
+       {
+               g_main_loop_quit(pMainLoop);
+       }
+
+       FPRINTF("[Line : %d][%s] Callback Timeout\\n", __LINE__, API_NAMESPACE);
+       return false;
+}
+
+/**
+* @function            StickerGetError
+* @description         Maps sticker_error_e enums
+* @parameter           error : error level
+* @return                      error string
+*/
+
+char* StickerGetError(int nRet)
+{
+       char *szErrorVal = NULL;
+       switch ( nRet )
+       {
+       case STICKER_ERROR_NONE:                                szErrorVal = "STICKER_ERROR_NONE";                                      break;
+       case STICKER_ERROR_INVALID_PARAMETER:   szErrorVal = "STICKER_ERROR_INVALID_PARAMETER"; break;
+       case STICKER_ERROR_OPERATION_FAILED:    szErrorVal = "STICKER_ERROR_OPERATION_FAILED";  break;
+       case STICKER_ERROR_OUT_OF_MEMORY:       szErrorVal = "STICKER_ERROR_OUT_OF_MEMORY";     break;
+       case STICKER_ERROR_NOT_SUPPORTED:               szErrorVal = "STICKER_ERROR_NOT_SUPPORTED";             break;
+       case STICKER_ERROR_PERMISSION_DENIED:   szErrorVal = "STICKER_ERROR_PERMISSION_DENIED"; break;
+       }
+
+       return szErrorVal;
+}
+
+
+/** @} */
diff --git a/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.h b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-common.h
new file mode 100644 (file)
index 0000000..0d16f26
--- /dev/null
@@ -0,0 +1,106 @@
+//
+// Copyright (c) 2019 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 _ITS_CAPI_UI_STICKER_COMMON_H_
+#define _ITS_CAPI_UI_STICKER_COMMON_H_
+
+//Add test package related includes here
+#include "tct_common.h"
+#include <fcntl.h>
+#include <dlog.h>
+#include <glib.h>
+#include <glib/gstdio.h> /* GStatBuf */
+#include <stdint.h>
+#include <stdbool.h>
+#include <system_info.h>
+#include <sticker_data.h>
+#include <sticker_provider.h>
+#include <sticker_consumer.h>
+
+
+/** @addtogroup itc-capi-ui-sticker
+*  @ingroup itc
+*  @{
+*/
+
+bool g_bStickerCreation;
+bool g_bIsFeatureMismatched;
+bool g_bFeatureIsSupported;
+bool g_bCallbackHit;
+GMainLoop *g_pStickerMainLoop;
+
+
+char* StickerGetError(int nRet);
+gboolean Timeout(gpointer data);
+
+
+#define API_NAMESPACE                  "CAPI_UI_STICKER_ITC"
+#define MAXENUMSIZE                            50
+#define SETENUM                                        1
+#define GETENUM                                        0
+#define TIMEOUT_CB                     10000
+
+#define FEATURE_STICKER                                        "http://tizen.org/feature/ui_service.sticker"
+
+#define START_TEST {\
+        FPRINTF("[Line:%d][%s] Starting test check initialize : %s\\n", __LINE__, API_NAMESPACE, __FUNCTION__);\
+        dlog_print(DLOG_INFO, "NativeTCT", "[Line:%d][%s] Starting test check initialize : %s", __LINE__, API_NAMESPACE, __FUNCTION__);\
+        if ( g_bIsFeatureMismatched ) {\
+                FPRINTF("[Line:%d][%s] Feature Mismatch Error\\n", __LINE__, API_NAMESPACE);\
+                dlog_print(DLOG_ERROR, "NativeTCT", "[Line:%d][%s] Feature Mismatch Error", __LINE__, API_NAMESPACE);\
+                return 1;\
+        }\
+        if ( !g_bFeatureIsSupported) {\
+                FPRINTF("[Line : %d][%s] Feature Unsupported\\n", __LINE__, API_NAMESPACE);\
+                dlog_print(DLOG_ERROR, "NativeTCT", "[Line:%d][%s] Feature Unsupported", __LINE__, API_NAMESPACE);\
+                return 0;\
+        }\
+        if ( !g_bStickerCreation ) {\
+                FPRINTF("[Line:%d][%s] Precondition Failed\\n", __LINE__, API_NAMESPACE);\
+                dlog_print(DLOG_ERROR,"NativeTCT", "[Line:%d][%s] Precondition Failed", __LINE__, API_NAMESPACE);\
+                return 1;\
+        }\
+}
+
+#define CHECK_HANDLE_CLEANUP(Handle, API, FreeResource) {\
+       if ( Handle == NULL )\
+       {\
+               FPRINTF("[Line : %d][%s] %s failed, error returned = Handle returned is NULL\\n", __LINE__, API_NAMESPACE, API);\
+               FreeResource;\
+               return 1;\
+       }\
+}
+
+#define RUN_POLLING_LOOP {\
+       g_pStickerMainLoop = g_main_loop_new(NULL, false);\
+       nTimeoutId = g_timeout_add(TIMEOUT_CB, Timeout, g_pStickerMainLoop);\
+       g_main_loop_run(g_pStickerMainLoop);\
+       g_source_remove(nTimeoutId);\
+       g_pStickerMainLoop = NULL;\
+}
+
+#define QUIT_GMAIN_LOOP { \
+    if (g_pStickerMainLoop) { \
+        g_main_loop_quit(g_pStickerMainLoop); \
+        g_pStickerMainLoop = NULL; \
+    } \
+}
+
+sticker_provider_h g_hStickerProviderHandle;
+sticker_data_h g_hStickerDataHandle;
+sticker_consumer_h g_hStickerConsumerHandle;
+
+#endif  //_ITS_CAPI_UI_STICKER_COMMON_H_
+/** @} */
diff --git a/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-consumer.c b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-consumer.c
new file mode 100644 (file)
index 0000000..9183c8e
--- /dev/null
@@ -0,0 +1,399 @@
+//
+// Copyright (c) 2019 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 "ITs-capi-ui-sticker-common.h"
+
+/** @addtogroup itc-capi-ui-sticker
+ *  @ingroup itc
+ *  @{
+ */
+
+//& set: capi-ui-sticker
+
+/**
+ * @function           StickerDataConsumerForeachCallback
+ * @description  A sticker consumer callback for foreach all
+ */
+static void StickerDataConsumerForeachCallback(sticker_data_h data_handle, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside callback  StickerDataConsumerForeachCallback\\n", __LINE__, API_NAMESPACE);
+       g_bCallbackHit = true;
+}
+
+/**
+ * @function           StickerConsumerGroupListCallback
+ * @description A sticker consumer callback for group list
+ */
+static void StickerConsumerGroupListCallback(const char *group, void *user_data)
+{
+       g_bCallbackHit = true;
+       FPRINTF("[Line : %d][%s] Inside callback  StickerConsumerGroupListCallback\\n", __LINE__, API_NAMESPACE);
+}
+
+
+/**
+ * @function           StickerConsumerKeywordListCallback
+ * @description A sticker consumer callback for keyword list
+ */
+static void StickerConsumerKeywordListCallback(const char *keyword, void *user_data)
+{
+       g_bCallbackHit = true;
+       FPRINTF("[Line : %d][%s] Inside callback  StickerConsumerKeywordListCallback\\n", __LINE__, API_NAMESPACE);
+}
+
+/**
+ * @function           ITs_capi_ui_sticker_consumer_startup
+ * @description                Called before each test, set the service boolean true
+ * @parameter          NA
+ * @return                     NA
+ */
+void ITs_capi_ui_sticker_consumer_startup(void)
+{
+       int nRet =-1;
+       struct stat buf;
+       if ( stat(ERR_LOG, &buf) == 0)
+       {
+               remove(ERR_LOG);
+       }
+#if DEBUG
+       FPRINTF("[Line : %d][%s] TEST SUIT start-up: ITs_capi_ui_sticker_consumer_startup\\n", __LINE__, API_NAMESPACE);
+#endif
+       g_bIsFeatureMismatched = false;
+       g_bStickerCreation = false;
+       g_bFeatureIsSupported = TCTCheckSystemInfoFeatureSupported(FEATURE_STICKER, API_NAMESPACE);
+
+       nRet = sticker_consumer_create(&g_hStickerConsumerHandle);
+       if(!g_bFeatureIsSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[%s:%d] sticker_consumer_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)\\n", __FILE__, __LINE__,nRet);
+                       dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_consumer_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)", __FILE__, __LINE__, nRet);
+                       g_bIsFeatureMismatched = true;
+                       return;
+               }
+
+               FPRINTF("[%s:%d] sticker_consumer_create is unsupported\\n", __FILE__, __LINE__);
+               dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_consumer_create is unsupported", __FILE__, __LINE__);
+               g_bIsFeatureMismatched = false;
+       }
+       else if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_consumer_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d]sticker_consumer_create failed, error returned = (%d)", __FILE__, __LINE__,  nRet);
+               g_bStickerCreation = false;
+       }
+       else
+       {
+               g_bStickerCreation = true;
+       }
+       nRet = sticker_provider_create(&g_hStickerProviderHandle);
+       if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_provider_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               g_bStickerCreation = false;
+       }
+       nRet = sticker_data_create(&g_hStickerDataHandle);
+       if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_data_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               g_bStickerCreation = false;
+       }
+       return;
+
+}
+
+/**
+ * @function           ITs_capi_ui_sticker_consumer_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return                     NA
+ */
+void ITs_capi_ui_sticker_consumer_cleanup(void)
+{
+       int nRet = -1;
+#if DEBUG
+       FPRINTF("[Line : %d][%s] TEST SUIT clean-up: ITs_capi_ui_sticker_consumer_cleanup\\n", __LINE__, API_NAMESPACE);
+#endif
+       if (g_hStickerConsumerHandle) {
+               nRet = sticker_consumer_destroy(g_hStickerConsumerHandle);
+               if(nRet !=0)
+               {
+                       FPRINTF("sticker_consumer_destroy failed\\n");
+                       dlog_print(DLOG_ERROR, "NativeTCT", "sticker_consumer_destroy failed");
+               }
+               g_hStickerConsumerHandle = NULL;
+       }
+       if (g_hStickerProviderHandle) {
+               nRet = sticker_provider_destroy (g_hStickerProviderHandle);
+               if(nRet !=0)
+               {
+                       FPRINTF("sticker_provider_destroy failed\\n");
+                       dlog_print(DLOG_ERROR, "NativeTCT", "sticker_provider_destroy failed");
+               }
+               g_hStickerProviderHandle = NULL;
+       }
+       if (g_hStickerDataHandle) {
+               nRet = sticker_data_destroy (g_hStickerDataHandle);
+               if(nRet !=0)
+               {
+                       FPRINTF("sticker_data_destroy failed\\n");
+                       dlog_print(DLOG_ERROR, "NativeTCT", "sticker_data_destroy failed");
+               }
+               g_hStickerDataHandle = NULL;
+
+       }
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Create and Destroy sticker consumer handle
+ * @scenario                   Create and Destroy sticker consumer handle
+ * @apicovered                 sticker_consumer_create,sticker_consumer_destroy
+ * @passcase                   When sticker_consumer_create,sticker_consumer_destroy and Precondition APi's are successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Create and Destroy sticker consumer handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       sticker_consumer_h hStickerConsumerHandle = NULL;
+
+       nRet = sticker_consumer_create(&hStickerConsumerHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_create", StickerGetError(nRet));
+       CHECK_HANDLE(hStickerConsumerHandle, "sticker_consumer_create");
+
+       nRet = sticker_consumer_destroy(hStickerConsumerHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_destroy", StickerGetError(nRet));
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Foreach for all sticker data consumer handle
+ * @scenario                   Foreach for all sticker data consumer handle
+ * @apicovered                 sticker_provider_data_foreach_all
+ * @passcase                   When sticker_consumer_data_foreach_all and Precondition APi's are  successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Foreach for all sticker data consumer handle
+int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       int nResult = -1;
+       g_bCallbackHit = false;
+
+       nRet = sticker_consumer_data_foreach_all(g_hStickerConsumerHandle, 0, 1000, &nResult, StickerDataConsumerForeachCallback, NULL);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_data_foreach_all", StickerGetError(nRet));
+
+       PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet));
+
+       if(nResult < 0)
+       {
+               FPRINTF("[%s:%d] nResult value is not valid\\n", __FILE__, __LINE__);
+               return 1;
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Foreach for all sticker data consumer handle by keyword
+ * @scenario                   Foreach for all sticker data consumer handle by keyword
+ * @apicovered                 sticker_consumer_data_foreach_by_keyword
+ * @passcase                   When sticker_consumer_data_foreach_by_keyword and Precondition APi's are  successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Foreach for all sticker data consumer handle by keyword
+int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       int nResult = -1;
+       g_bCallbackHit = false;
+
+       nRet = sticker_consumer_data_foreach_by_keyword(g_hStickerConsumerHandle, 0, 1000, &nResult, "cute", StickerDataConsumerForeachCallback, NULL);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_data_foreach_by_keyword", StickerGetError(nRet));
+
+       PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet));
+
+       if(nResult < 0)
+       {
+               FPRINTF("[%s:%d] nResult value is not valid\\n", __FILE__, __LINE__);
+               return 1;
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Foreach for all sticker data consumer handle by group
+ * @scenario                   Foreach for all sticker data consumer handle by group
+ * @apicovered                 sticker_consumer_data_foreach_by_group
+ * @passcase                   When sticker_consumer_data_foreach_by_group and Precondition APi's are  successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Foreach for all sticker data consumer handle by group
+int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       int nResult = -1;
+       g_bCallbackHit = false;
+
+       nRet = sticker_consumer_data_foreach_by_group(g_hStickerConsumerHandle, 0, 1000, &nResult, "tizen", StickerDataConsumerForeachCallback, NULL);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_data_foreach_by_group", StickerGetError(nRet));
+
+       PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet));
+
+       if(nResult < 0)
+       {
+               FPRINTF("[%s:%d] nResult value is not valid\\n", __FILE__, __LINE__);
+               return 1;
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Foreach for all sticker data consumer handle by type
+ * @scenario                   Foreach for all sticker data consumer handle by type
+ * @apicovered                 sticker_consumer_data_foreach_by_type
+ * @passcase                   When sticker_consumer_data_foreach_by_type and Precondition APi's are  successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Foreach for all sticker data consumer handle by type
+int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       int nResult = -1;
+       g_bCallbackHit = false;
+
+       nRet = sticker_consumer_data_foreach_by_type(g_hStickerConsumerHandle, 0, 1000, &nResult, STICKER_DATA_URI_WEB_RESOURCE, StickerDataConsumerForeachCallback, NULL);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_data_foreach_by_type", StickerGetError(nRet));
+
+       PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet));
+
+       if(nResult < 0)
+       {
+               FPRINTF("[%s:%d] nResult value is not valid\\n", __FILE__, __LINE__);
+               return 1;
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Foreach for all sticker data consumer for a group list
+ * @scenario                   Foreach for all sticker data consumer for a group list
+ * @apicovered                 sticker_consumer_group_list_foreach_all
+ * @passcase                   When sticker_consumer_group_list_foreach_all and Precondition APi's are  successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Foreach for all sticker data consumer for a group list
+int ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       int nResult = -1;
+       g_bCallbackHit = false;
+
+       nRet = sticker_consumer_group_list_foreach_all(g_hStickerConsumerHandle, StickerConsumerGroupListCallback, NULL);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_group_list_foreach_all", StickerGetError(nRet));
+
+       PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet));
+
+       return 0;
+}
+
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Foreach for all sticker data consumer for a keyword list
+ * @scenario                   Foreach for all sticker data consumer for a keyword list
+ * @apicovered                 sticker_consumer_keyword_list_foreach_all
+ * @passcase                   When sticker_consumer_keyword_list_foreach_all and Precondition APi's are  successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Foreach for all sticker data consumer for a keyword list
+int ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       int nResult = -1;
+       g_bCallbackHit = false;
+
+       nRet = sticker_consumer_keyword_list_foreach_all(g_hStickerConsumerHandle, StickerConsumerKeywordListCallback, NULL);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_consumer_keyword_list_foreach_all", StickerGetError(nRet));
+
+       PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet));
+
+       return 0;
+}
+
+
+
diff --git a/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-provider.c b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker-provider.c
new file mode 100644 (file)
index 0000000..fb546f0
--- /dev/null
@@ -0,0 +1,404 @@
+//
+// Copyright (c) 2019 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 "ITs-capi-ui-sticker-common.h"
+
+/** @addtogroup itc-capi-ui-sticker
+ *  @ingroup itc
+ *  @{
+ */
+
+//& set: capi-ui-sticker
+
+/**
+ * @function           StickerDataProviderForeachCallback
+ * @description  A sticker provider callback for iforeach all
+ */
+static void StickerDataProviderForeachCallback(sticker_data_h data_handle, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside callback  StickerDataProviderForeachCallback\\n", __LINE__, API_NAMESPACE);
+       g_bCallbackHit = true;
+}
+
+/**
+ * @function           StickerProviderInsertFinishedCallback
+ * @description A sticker provider callback for insert finished
+ */
+static void StickerProviderInsertFinishedCallback(sticker_error_e error, void *user_data)
+{
+       g_bCallbackHit = true;
+       FPRINTF("[Line : %d][%s] Inside callback  StickerProviderInsertFinishedCallback\\n", __LINE__, API_NAMESPACE);
+       QUIT_GMAIN_LOOP;
+}
+
+/**
+ * @function           ITs_capi_ui_sticker_provider_startup
+ * @description                Called before each test, set the service boolean true
+ * @parameter          NA
+ * @return                     NA
+ */
+void ITs_capi_ui_sticker_provider_startup(void)
+{
+       int nRet =-1;
+       struct stat buf;
+       if ( stat(ERR_LOG, &buf) == 0)
+       {
+               remove(ERR_LOG);
+       }
+#if DEBUG
+       FPRINTF("[Line : %d][%s] TEST SUIT start-up: ITs_capi_ui_sticker_provider_startup\\n", __LINE__, API_NAMESPACE);
+#endif
+       g_bIsFeatureMismatched = false;
+       g_bStickerCreation = false;
+       g_bFeatureIsSupported = TCTCheckSystemInfoFeatureSupported(FEATURE_STICKER, API_NAMESPACE);
+
+       nRet = sticker_provider_create(&g_hStickerProviderHandle);
+       if(!g_bFeatureIsSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[%s:%d] sticker_provider_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)\\n", __FILE__, __LINE__,nRet);
+                       dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_provider_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)", __FILE__, __LINE__, nRet);
+                       g_bIsFeatureMismatched = true;
+                       return;
+               }
+
+               FPRINTF("[%s:%d] sticker_provider_create is unsupported\\n", __FILE__, __LINE__);
+               dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_provider_create is unsupported", __FILE__, __LINE__);
+               g_bIsFeatureMismatched = false;
+       }
+       else if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_provider_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d]sticker_provider_create failed, error returned = (%d)", __FILE__, __LINE__,  nRet);
+               g_bStickerCreation = false;
+       }
+       else
+       {
+               g_bStickerCreation = true;
+       }
+       nRet = sticker_data_create(&g_hStickerDataHandle);
+       if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_date_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               g_bStickerCreation = false;
+       }
+       nRet = sticker_data_set_uri(g_hStickerDataHandle, STICKER_DATA_URI_WEB_RESOURCE, "www.samsung.com");
+       if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_data_set_uri failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               g_bStickerCreation = false;
+       }
+       nRet = sticker_data_add_keyword(g_hStickerDataHandle, "smile");
+       if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_data_add_keyword failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               g_bStickerCreation = false;
+       }
+       nRet = sticker_data_add_keyword(g_hStickerDataHandle, "face");
+       if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_data_add_keyword failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               g_bStickerCreation = false;
+       }
+       nRet = sticker_data_add_keyword(g_hStickerDataHandle, "cute");
+       if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_data_add_keyword failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               g_bStickerCreation = false;
+       }
+       nRet = sticker_data_set_group_name(g_hStickerDataHandle, "tizen");
+       if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_data_set_group_name failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               g_bStickerCreation = false;
+       }
+       nRet = sticker_data_set_thumbnail(g_hStickerDataHandle, "/res/test.png");
+       if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_data_set_thumbnail failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               g_bStickerCreation = false;
+       }
+       nRet = sticker_data_set_description(g_hStickerDataHandle, "TCT Test");
+       if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_data_set_description failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               g_bStickerCreation = false;
+       }
+       return;
+
+}
+
+/**
+ * @function           ITs_capi_ui_sticker_provider_cleanup
+ * @description                Called after each test
+ * @parameter          NA
+ * @return                     NA
+ */
+void ITs_capi_ui_sticker_provider_cleanup(void)
+{
+       int nRet = -1;
+#if DEBUG
+       FPRINTF("[Line : %d][%s] TEST SUIT clean-up: ITs_capi_ui_sticker_provider_cleanup\\n", __LINE__, API_NAMESPACE);
+#endif
+       if (g_hStickerProviderHandle) {
+               nRet = sticker_provider_destroy (g_hStickerProviderHandle);
+               if(nRet !=0)
+               {
+                       FPRINTF("sticker_provider_destroy failed\\n");
+                       dlog_print(DLOG_ERROR, "NativeTCT", "sticker_provider_destroy failed");
+               }
+               g_hStickerProviderHandle = NULL;
+       }
+       if (g_hStickerDataHandle) {
+               nRet = sticker_data_destroy (g_hStickerDataHandle);
+               if(nRet !=0)
+               {
+                       FPRINTF("sticker_data_destroy failed\\n");
+                       dlog_print(DLOG_ERROR, "NativeTCT", "sticker_data_destroy failed");
+               }
+               g_hStickerDataHandle = NULL;
+
+       }
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Create and Destroy sticker provider handle
+ * @scenario                   Create and Destroy sticker provider handle
+ * @apicovered                 sticker_provider_create,sticker_provider_destroy
+ * @passcase                   When sticker_provider_create,sticker_provider_destroy and Precondition API's are successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition                       None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Create and Destroy sticker provider handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       sticker_provider_h hStickerProviderHandle = NULL;
+
+       nRet = sticker_provider_create(&hStickerProviderHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_create", StickerGetError(nRet));
+       CHECK_HANDLE(hStickerProviderHandle, "sticker_provider_create");
+
+       nRet = sticker_provider_destroy(hStickerProviderHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_destroy", StickerGetError(nRet));
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_provider_insert_data_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Insert Data for sticker provider handle
+ * @scenario                   Insert Data for sticker provider handle
+ * @apicovered                 sticker_provider_insert_data
+ * @passcase                   When sticker_provider_insert_data and Precondition API's are successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Insert Data for sticker provider handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_provider_insert_data_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+
+       nRet = sticker_provider_insert_data(g_hStickerProviderHandle, g_hStickerDataHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_insert_data", StickerGetError(nRet));
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Insert Data by json file for sticker provider handle
+ * @scenario                   Insert Data by json file for sticker provider handle
+ * @apicovered                 sticker_provider_insert_data_by_json_file
+ * @passcase                   When sticker_provider_insert_data_by_json_file and Precondition API's are successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Insert Data by json file for sticker provider handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       char *pszJsonPath = "/res/test.json";
+       g_bCallbackHit = false;
+       int nTimeoutId = 0;
+
+       nRet = sticker_provider_insert_data_by_json_file(g_hStickerProviderHandle, pszJsonPath, StickerProviderInsertFinishedCallback, NULL);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_insert_data_by_json_file", StickerGetError(nRet));
+
+       RUN_POLLING_LOOP;
+       PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet));
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_provider_update_data_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Update Data for sticker provider handle
+ * @scenario                   Update Data for sticker provider handle
+ * @apicovered                 sticker_provider_update_data
+ * @passcase                   When sticker_provider_update_data and Precondition API's are successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Update Data for sticker provider handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_provider_update_data_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+
+       nRet = sticker_provider_insert_data(g_hStickerProviderHandle, g_hStickerDataHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_insert_data", StickerGetError(nRet));
+
+       nRet = sticker_data_set_group_name( g_hStickerDataHandle, "Samsung");
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_set_group_name", StickerGetError(nRet));
+
+       nRet = sticker_provider_update_data(g_hStickerProviderHandle, g_hStickerDataHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_update_data", StickerGetError(nRet));
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_provider_delete_data_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Delete Data for sticker provider handle
+ * @scenario                   Delete Data for sticker provider handle
+ * @apicovered                 sticker_provider_delete_data
+ * @passcase                   When sticker_provider_delete_data and Precondition API's are successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for delete Data for sticker provider handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_provider_delete_data_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+
+       nRet = sticker_provider_insert_data(g_hStickerProviderHandle, g_hStickerDataHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_insert_data", StickerGetError(nRet));
+
+       nRet = sticker_provider_delete_data(g_hStickerProviderHandle, g_hStickerDataHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_delete_data", StickerGetError(nRet));
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Get Sticker count from sticker data provider handle
+ * @scenario                   Get Sticker count from sticker data provider handle
+ * @apicovered                 sticker_provider_get_sticker_count
+ * @passcase                   When sticker_provider_get_sticker_count and Precondition API's are successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Get Sticker count from sticker data provider handle
+int ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       int nStickerCount = -1;
+
+       nRet = sticker_provider_get_sticker_count(g_hStickerProviderHandle, &nStickerCount);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_get_sticker_count", StickerGetError(nRet));
+
+       if(nStickerCount < 0)
+       {
+               FPRINTF("[%s:%d] nStickerCount value is not valid\\n", __FILE__, __LINE__);
+               return 1;
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase                   ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p
+ * @since_tizen                        5.5
+ * @author                     SRID(manoj.g2)
+ * @reviewer                   SRID(shobhit.v)
+ * @type                       auto
+ * @description                        Foreach for all srticker data provider handle
+ * @scenario                   Foreach for all srticker data provider handle
+ * @apicovered                 sticker_provider_data_foreach_all
+ * @passcase                   When sticker_provider_data_foreach_all and Precondition API's are successful.
+ * @failcase                   If target API fails or any precondition API fails
+ * @precondition               None
+ * @postcondition              None
+ */
+//& purpose: API to Check for Foreach for all sticker data provider handle
+int ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       int nResult = -1;
+       g_bCallbackHit = false;
+
+       nRet = sticker_provider_insert_data(g_hStickerProviderHandle, g_hStickerDataHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_insert_data", StickerGetError(nRet));
+
+       nRet = sticker_provider_data_foreach_all(g_hStickerProviderHandle, 0, 1000, &nResult, StickerDataProviderForeachCallback, NULL);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_provider_data_foreach_all", StickerGetError(nRet));
+
+       PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet));
+
+       if(nResult < 0)
+       {
+               FPRINTF("[%s:%d] nResult value is not valid\\n", __FILE__, __LINE__);
+               return 1;
+       }
+
+       return 0;
+}
+
diff --git a/src/itc/capi-ui-sticker/ITs-capi-ui-sticker.c b/src/itc/capi-ui-sticker/ITs-capi-ui-sticker.c
new file mode 100644 (file)
index 0000000..dca4532
--- /dev/null
@@ -0,0 +1,460 @@
+//
+// Copyright (c) 2019 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 "ITs-capi-ui-sticker-common.h"
+
+/** @addtogroup itc-capi-ui-sticker
+*  @ingroup itc
+*  @{
+*/
+
+//& set: capi-ui-sticker
+
+/**
+ * @function           StickerDataForeachKeywordCallback
+ * @description A sticker data foreach callback for keyword
+ */
+
+static void StickerDataForeachKeywordCallback(const char *keyword, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Inside callback  StickerDataForeachKeywordCallback\\n", __LINE__, API_NAMESPACE);
+       g_bCallbackHit = true;
+}
+
+/**
+* @function            ITs_capi_ui_sticker_data_startup
+* @description         Called before each test, set the service boolean true
+* @parameter           NA
+* @return                      NA
+*/
+void ITs_capi_ui_sticker_data_startup(void)
+{
+       int nRet =-1;
+       struct stat buf;
+       if ( stat(ERR_LOG, &buf) == 0)
+       {
+               remove(ERR_LOG);
+       }
+#if DEBUG
+       FPRINTF("[Line : %d][%s] TEST SUIT start-up: ITs_capi_ui_sticker_data_startup\\n", __LINE__, API_NAMESPACE);
+#endif
+       g_bIsFeatureMismatched = false;
+       g_bStickerCreation = false;
+       g_bFeatureIsSupported = TCTCheckSystemInfoFeatureSupported(FEATURE_STICKER, API_NAMESPACE);
+
+       nRet = sticker_data_create(&g_hStickerDataHandle);
+       if(!g_bFeatureIsSupported)
+       {
+               if ( nRet != TIZEN_ERROR_NOT_SUPPORTED )
+               {
+                       FPRINTF("[%s:%d] sticker_data_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)\\n", __FILE__, __LINE__,nRet);
+                       dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_data_create failed to return TIZEN_ERROR_NOT_SUPPORTED for unsupported feature, error returned = (%d)", __FILE__, __LINE__, nRet);
+                       g_bIsFeatureMismatched = true;
+                       return;
+               }
+
+               FPRINTF("[%s:%d] sticker_data_create is unsupported\\n", __FILE__, __LINE__);
+               dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] sticker_data_create is unsupported", __FILE__, __LINE__);
+               g_bIsFeatureMismatched = false;
+       }
+       else if ( nRet != STICKER_ERROR_NONE )
+       {
+               FPRINTF("[%s:%d] sticker_data_create failed, error returned =(%d)\\n", __FILE__, __LINE__, nRet);
+               dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d]sticker_data_create failed, error returned = (%d)", __FILE__, __LINE__,  nRet);
+               g_bStickerCreation = false;
+       }
+       else
+       {
+               g_bStickerCreation = true;
+       }
+
+       return;
+
+}
+
+/**
+* @function            ITs_capi_ui_sticker_data_cleanup
+* @description         Called after each test
+* @parameter           NA
+* @return                      NA
+*/
+void ITs_capi_ui_sticker_data_cleanup(void)
+{
+#if DEBUG
+       FPRINTF("[Line : %d][%s] TEST SUIT clean-up: ITs_capi_ui_sticker_data_cleanup\\n", __LINE__, API_NAMESPACE);
+#endif
+       if (g_hStickerDataHandle) {
+               int nRet = sticker_data_destroy (g_hStickerDataHandle);
+               if(nRet !=0)
+               {
+                               FPRINTF("sticker_data_destroy failed\\n");
+                               dlog_print(DLOG_ERROR, "NativeTCT", "sticker_data_destroy failed");
+               }
+               g_hStickerDataHandle = NULL;
+       }
+}
+
+/**
+* @testcase                    ITc_capi_ui_sticker_data_sticker_data_create_destroy_p
+* @since_tizen                 5.5
+* @author                              SRID(manoj.g2)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Create and Destroy sticker data handle
+* @scenario                            Create and Destroy sticker data handle
+* @apicovered                  sticker_data_create,sticker_data_destroy
+* @passcase                            When sticker_data_create,sticker_data_destroy is successful.
+* @failcase                            If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to Check for Create and Destroy sticker data handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_data_create_destroy_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       sticker_data_h hStickerDataHandle = NULL;
+
+       nRet = sticker_data_create(&hStickerDataHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_create", StickerGetError(nRet));
+       CHECK_HANDLE(hStickerDataHandle, "sticker_data_create");
+
+       nRet = sticker_data_destroy(hStickerDataHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_destroy", StickerGetError(nRet));
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_capi_ui_sticker_data_sticker_data_clone_p
+* @since_tizen                 5.5
+* @author                              SRID(manoj.g2)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 clone sticker data handle
+* @scenario                            clone sticker data handle
+* @apicovered                  sticker_data_clone
+* @passcase                            When sticker_data_clone and Precondition API are successful.
+* @failcase                            If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to Check for clone sticker data handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_data_clone_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       sticker_data_h hStickerCloneDataHandle = NULL;
+
+       nRet = sticker_data_clone(g_hStickerDataHandle, &hStickerCloneDataHandle);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_clone", StickerGetError(nRet));
+       CHECK_HANDLE(hStickerCloneDataHandle, "sticker_data_clone");
+
+       nRet = sticker_data_destroy(hStickerCloneDataHandle);
+       PRINT_RESULT_NORETURN(STICKER_ERROR_NONE, nRet, "sticker_data_destroy", StickerGetError(nRet));
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_capi_ui_sticker_data_sticker_data_get_app_id_p
+* @since_tizen                 5.5
+* @author                              SRID(manoj.g2)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Get sticker data App ID
+* @scenario                            Get sticker data App ID
+* @apicovered                  sticker_data_get_app_id
+* @passcase                            When sticker_data_get_app_id and Precondition API are successful.
+* @failcase                            If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to Check for Get sticker data App ID
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_data_get_app_id_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       char *pszAppID = NULL;
+
+       nRet = sticker_data_get_app_id(g_hStickerDataHandle, &pszAppID);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_get_app_id", StickerGetError(nRet));
+       CHECK_HANDLE(pszAppID, "sticker_data_get_app_id");
+
+       FREE_MEMORY(pszAppID);
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p
+* @since_tizen                 5.5
+* @author                      SRID(manoj.g2)
+* @reviewer                    SRID(shobhit.v)
+* @type                        auto
+* @description                 Set and GetUri for sticker data handle
+* @scenario                    Set and GetUri for sticker data handle
+* @apicovered                  sticker_data_set_uri, sticker_data_get_uri
+* @passcase                    When sticker_data_set_uri, sticker_data_get_uri and Precondition API are successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to Check for Set and Get Uri for sticker data handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       sticker_data_uri_type_e eUriType =-1;
+       char *pszStickerWebUri = NULL;
+
+       nRet = sticker_data_set_uri(g_hStickerDataHandle, STICKER_DATA_URI_WEB_RESOURCE, "www.tizen.org");
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_set_uri", StickerGetError(nRet));
+
+       nRet = sticker_data_get_uri(g_hStickerDataHandle, &eUriType, &pszStickerWebUri);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_get_uri", StickerGetError(nRet));
+       CHECK_HANDLE(pszStickerWebUri, "sticker_data_get_uri");
+
+       PRINT_RESULT_CLEANUP(STICKER_DATA_URI_WEB_RESOURCE, eUriType, "Uri type mismatch", StickerGetError(nRet),FREE_MEMORY(pszStickerWebUri));
+       if(strcmp(pszStickerWebUri,"www.tizen.org") != 0)
+       {
+               FPRINTF("Sticker Uri mismatch\\n");
+               FREE_MEMORY(pszStickerWebUri);
+               return 1;
+       }
+
+       FREE_MEMORY(pszStickerWebUri);
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p
+* @since_tizen                 5.5
+* @author                      SRID(manoj.g2)
+* @reviewer                    SRID(shobhit.v)
+* @type                        auto
+* @description                 foreach sticker data keyword
+* @scenario                    foreach sticker data keyword
+* @apicovered                  sticker_data_foreach_keyword
+* @passcase                    When sticker_data_foreach_keyword and Precondition API are successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to Check for foreach sticker data keyword
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+
+       g_bCallbackHit = false;
+       
+       nRet = sticker_data_add_keyword(g_hStickerDataHandle, "test");
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_add_keyword", StickerGetError(nRet));
+
+       nRet = sticker_data_foreach_keyword(g_hStickerDataHandle, StickerDataForeachKeywordCallback, NULL);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_foreach_keyword", StickerGetError(nRet));
+       PRINT_RESULT(g_bCallbackHit, true, "callback not hit", StickerGetError(nRet));
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p
+* @since_tizen                 5.5
+* @author                      SRID(manoj.g2)
+* @reviewer                    SRID(shobhit.v)
+* @type                        auto
+* @description                 Add and remove sticker data keyword
+* @scenario                    Add and remove sticker data keyword
+* @apicovered                  sticker_data_add_keyword, sticker_data_remove_keyword
+* @passcase                    When sticker_data_add_keyword, sticker_data_remove_keyword and Precondition API are successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to Check for Add and remove sticker data keyword
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+
+       nRet = sticker_data_add_keyword(g_hStickerDataHandle, "test");
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_add_keyword", StickerGetError(nRet));
+
+       nRet = sticker_data_add_keyword(g_hStickerDataHandle, "face");
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_add_keyword", StickerGetError(nRet));
+
+       nRet = sticker_data_remove_keyword(g_hStickerDataHandle, "test");
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_remove_keyword", StickerGetError(nRet));
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p
+* @since_tizen                 5.5
+* @author                      SRID(manoj.g2)
+* @reviewer                    SRID(shobhit.v)
+* @type                        auto
+* @description                 Set and group name for sticker data handle
+* @scenario                    Set and group name for sticker data handle
+* @apicovered                  sticker_data_set_group_name, sticker_data_get_group_name
+* @passcase                    When sticker_data_set_group_name, sticker_data_get_group_name is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to Check for Set and group name for sticker data handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       char *pszGetGroupName = NULL;
+
+       nRet = sticker_data_set_group_name(g_hStickerDataHandle, "samsung");
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_set_group_name", StickerGetError(nRet));
+
+       nRet = sticker_data_get_group_name(g_hStickerDataHandle, &pszGetGroupName);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_get_group_name", StickerGetError(nRet));
+       CHECK_HANDLE(pszGetGroupName, "sticker_data_get_group_name");
+
+       if(strcmp(pszGetGroupName,"samsung") != 0)
+       {
+               FPRINTF("Sticker Group name mismatch\\n");
+               FREE_MEMORY(pszGetGroupName);
+               return 1;
+       }
+
+       FREE_MEMORY(pszGetGroupName);
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p
+* @since_tizen                 5.5
+* @author                      SRID(manoj.g2)
+* @reviewer                    SRID(shobhit.v)
+* @type                        auto
+* @description                 Set and thumbnail for sticker data handle
+* @scenario                    Set and thumbnail for sticker data handle
+* @apicovered                  sticker_data_set_thumbnail, sticker_data_get_thumbnail
+* @passcase                    When sticker_data_set_thumbnail, sticker_data_get_thumbnail is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to Check for Set and thumbnail for sticker data handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       char *pszGetThumbNail = NULL;
+
+       nRet = sticker_data_set_thumbnail(g_hStickerDataHandle, "/res/test.png");
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_set_thumbnail", StickerGetError(nRet));
+
+       nRet = sticker_data_get_thumbnail(g_hStickerDataHandle, &pszGetThumbNail);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_get_thumbnail", StickerGetError(nRet));
+       CHECK_HANDLE(pszGetThumbNail, "sticker_data_get_thumbnail");
+
+       FREE_MEMORY(pszGetThumbNail);
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_capi_ui_sticker_data_sticker_data_set_get_description_p
+* @since_tizen                 5.5
+* @author                      SRID(manoj.g2)
+* @reviewer                    SRID(shobhit.v)
+* @type                        auto
+* @description                 Set and description for sticker data handle
+* @scenario                    Set and description for sticker data handle
+* @apicovered                  sticker_data_set_description, sticker_data_get_description
+* @passcase                    When sticker_data_set_description, sticker_data_get_description is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to Check for Set and description for sticker data handle
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_data_set_get_description_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       char *pszGetDescription = NULL;
+
+       nRet = sticker_data_set_description(g_hStickerDataHandle, "TCT Test");
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_set_description", StickerGetError(nRet));
+
+       nRet = sticker_data_get_description(g_hStickerDataHandle, &pszGetDescription);
+       PRINT_RESULT(STICKER_ERROR_NONE, nRet, "sticker_data_get_description", StickerGetError(nRet));
+       CHECK_HANDLE(pszGetDescription, "sticker_data_get_description");
+
+       if(strcmp(pszGetDescription,"TCT Test") != 0)
+       {
+               FPRINTF("Sticker description mismatch and get description is %s\\n", pszGetDescription);
+               FREE_MEMORY(pszGetDescription);
+               return 1;
+       }
+
+       FREE_MEMORY(pszGetDescription);
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_capi_ui_sticker_data_sticker_data_get_date_p
+* @since_tizen                 5.5
+* @author                              SRID(manoj.g2)
+* @reviewer                            SRID(shobhit.v)
+* @type                                auto
+* @description                 Get sticker data date
+* @scenario                            Get sticker data date
+* @apicovered                  sticker_data_get_date
+* @passcase                            When sticker_data_get_date is successful.
+* @failcase                            If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: API to Check for Get sticker data date
+//& type: auto
+int ITc_capi_ui_sticker_data_sticker_data_get_date_p(void)
+{
+       START_TEST;
+       int nRet = -1;
+       char *pszStickerDate = NULL;
+       nRet = sticker_data_get_date(g_hStickerDataHandle, &pszStickerDate);
+       PRINT_RESULT(STICKER_ERROR_OPERATION_FAILED, nRet, "sticker_data_get_date", StickerGetError(nRet));
+       /* In this API if no data return from DB then STICKER_ERROR_OPERATION_FAILED error code will return  so we are checking against this error code*/
+
+       FREE_MEMORY(pszStickerDate);
+
+       return 0;
+}
+
+
diff --git a/src/itc/capi-ui-sticker/res/test.json b/src/itc/capi-ui-sticker/res/test.json
new file mode 100644 (file)
index 0000000..9fe4b98
--- /dev/null
@@ -0,0 +1,13 @@
+{
+    "sticker":
+    [
+        {
+            "type" : 2,
+            "uri" : "https://www.samsung.com/sticker/sample.png",
+            "keyword" : ["smile", "high five"],
+            "group" : "face",
+            "thumbnail" : "",
+            "description" : "Smiley emoji with high five."
+        }
+    ]
+}
\ No newline at end of file
diff --git a/src/itc/capi-ui-sticker/res/test.png b/src/itc/capi-ui-sticker/res/test.png
new file mode 100644 (file)
index 0000000..9765b1b
Binary files /dev/null and b/src/itc/capi-ui-sticker/res/test.png differ
diff --git a/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native.c b/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native.c
new file mode 100644 (file)
index 0000000..d4b085d
--- /dev/null
@@ -0,0 +1,136 @@
+//
+// Copyright (c) 2019 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 "tct_common.h"
+
+#ifdef MOBILE  //Starts MOBILE
+#include "tct-capi-ui-sticker-native_mobile.h"
+#endif  //MOBILE       //End MOBILE
+
+#ifdef WEARABLE        //Starts WEARABLE
+#include "tct-capi-ui-sticker-native_wearable.h"
+#endif  //WEARABLE     //End WEARABLE
+
+#ifdef TV      //Starts TV
+#include "tct-capi-ui-sticker-native_tv.h"
+#endif  //TV   //End TV
+
+#include <stdio.h>
+#include <string.h>
+#include <malloc.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <glib.h>
+#include <stdbool.h>
+#include <app.h>
+#include <dlog.h>
+
+#include <Elementary.h>
+
+typedef struct appdata {
+    Evas_Object *win;
+    Evas_Object *conform;
+    Evas_Object *label;
+} appdata_s;
+
+static bool app_create(void *data)
+{
+    return true;
+}
+
+static void app_control(app_control_h app_control, void *data)
+{
+    char* pszGetTCName = NULL;
+    int i=0, result=0, nRet=0;
+    nRet = app_control_get_extra_data(app_control, "testcase_name", &pszGetTCName);
+    if(nRet != APP_CONTROL_ERROR_NONE)
+    {
+        dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] app_control_get_extra_data returns error = %d", __FUNCTION__, __LINE__, nRet);
+        PRINT_UTC_LOG("\\n[%s][Line : %d]Unable to fetch test case name: app_control_get_extra_data API call fails\\n", __FILE__, __LINE__);
+        PRINT_TC_RESULT("%d",1);
+        FREE_MEMORY_TC(pszGetTCName);
+        return;
+    }
+
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Executing TC Name = %s", __FUNCTION__, __LINE__, pszGetTCName);
+    for ( i = 0; tc_array[i].name; i++ )
+    {
+        if ( 0 == strncmp(pszGetTCName, tc_array[i].name, strlen(pszGetTCName)) )
+        {
+            DUMP_UTC_ERRLOG();
+            if ( tc_array[i].startup )
+            {
+                dlog_print(DLOG_INFO, "NativeTCT", "%s : Start up", pszGetTCName);
+                tc_array[i].startup();
+            }
+
+            dlog_print(DLOG_INFO, "NativeTCT", "%s : Body", pszGetTCName);
+            result = tc_array[i].function();
+            dlog_print(DLOG_INFO, "NativeTCT", "%s returns value = %d", pszGetTCName, result);
+
+            if ( tc_array[i].cleanup )
+            {
+                dlog_print(DLOG_INFO, "NativeTCT", "%s : Clean up", pszGetTCName);
+                tc_array[i].cleanup();
+            }
+
+            CLOSE_UTC_ERRLOG();
+            PRINT_TC_RESULT("%d",result);
+            FREE_MEMORY_TC(pszGetTCName);
+            return;
+        }
+    }
+
+    dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] Unable to execute %s : Unknown Test Case Name", __FUNCTION__, __LINE__, pszGetTCName);
+    PRINT_UTC_LOG("\\n[%s][Line : %d]Unable to execute %s : Unknown Test Case Name\\n", __FILE__, __LINE__, pszGetTCName);
+    PRINT_TC_RESULT("%d",1);
+    FREE_MEMORY_TC(pszGetTCName);
+    return;
+}
+
+static void app_terminate(void *data)
+{
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Package is now Terminating", __FUNCTION__, __LINE__);
+}
+
+int main(int argc, char *argv[])
+{
+    int ret = 0;
+    appdata_s ad = {0,};
+
+    ui_app_lifecycle_callback_s event_callback = {0,};
+    event_callback.create = app_create;
+    event_callback.terminate = app_terminate;
+    event_callback.app_control = app_control;
+
+    //setting gcda file location for coverage
+    setenv("GCOV_PREFIX","/tmp",1);
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Coverage *.gcda File location set to /tmp/home/abuild/rpmbuild/BUILD/ ", __FUNCTION__, __LINE__);
+
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Main Function is Invoked", __FUNCTION__, __LINE__);
+    ret = ui_app_main(argc, argv, &event_callback, &ad);
+    if (ret != APP_ERROR_NONE)
+    {
+        dlog_print(DLOG_ERROR, "NativeTCT", "Application ui_app_main call gets failed. err = %d", ret);
+        PRINT_UTC_LOG("\\n[%s][Line : %d]Application ui_app_main call gets failed. err = %d\\n", __FILE__, __LINE__, ret);
+        PRINT_TC_RESULT("%d",1);
+        return ret;
+    }
+
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Package is Terminated", __FUNCTION__, __LINE__);
+    return ret;
+}
diff --git a/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_mobile.h b/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_mobile.h
new file mode 100644 (file)
index 0000000..e43e5fa
--- /dev/null
@@ -0,0 +1,89 @@
+//
+// Copyright (c) 2019 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 __TCT_CAPI_UI_STICKER_NATIVE_H__
+#define __TCT_CAPI_UI_STICKER_NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void ITs_capi_ui_sticker_data_startup(void);
+extern void ITs_capi_ui_sticker_data_cleanup(void);
+
+extern void ITs_capi_ui_sticker_consumer_startup(void);
+extern void ITs_capi_ui_sticker_consumer_cleanup(void);
+
+extern void ITs_capi_ui_sticker_provider_startup(void);
+extern void ITs_capi_ui_sticker_provider_cleanup(void);
+
+extern int ITc_capi_ui_sticker_data_sticker_data_create_destroy_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_clone_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_get_app_id_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_set_get_description_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_get_date_p(void);
+
+
+extern int ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p(void);
+
+extern int ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_insert_data_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_update_data_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_delete_data_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p(void);
+
+
+testcase tc_array[] = {
+    {"ITc_capi_ui_sticker_data_sticker_data_create_destroy_p", ITc_capi_ui_sticker_data_sticker_data_create_destroy_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_clone_p", ITc_capi_ui_sticker_data_sticker_data_clone_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_get_app_id_p", ITc_capi_ui_sticker_data_sticker_data_get_app_id_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p", ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p", ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p", ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p", ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p", ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_set_get_description_p", ITc_capi_ui_sticker_data_sticker_data_set_get_description_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_get_date_p", ITc_capi_ui_sticker_data_sticker_data_get_date_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p", ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p", ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_insert_data_p", ITc_capi_ui_sticker_data_sticker_provider_insert_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p", ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_update_data_p", ITc_capi_ui_sticker_data_sticker_provider_update_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_delete_data_p", ITc_capi_ui_sticker_data_sticker_provider_delete_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+
+{"ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p", ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p", ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+ {NULL, NULL}
+};
+
+#endif // __TCT_CAPI_UI_STICKER_NATIVE_H__
diff --git a/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_wearable.h b/src/itc/capi-ui-sticker/tct-capi-ui-sticker-native_wearable.h
new file mode 100644 (file)
index 0000000..cf2971a
--- /dev/null
@@ -0,0 +1,88 @@
+//
+// Copyright (c) 2014 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 __TCT_CAPI_UI_STICKER_NATIVE_H__
+#define __TCT_CAPI_UI_STICKER_NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void ITs_capi_ui_sticker_data_startup(void);
+extern void ITs_capi_ui_sticker_data_cleanup(void);
+
+extern void ITs_capi_ui_sticker_consumer_startup(void);
+extern void ITs_capi_ui_sticker_consumer_cleanup(void);
+
+extern void ITs_capi_ui_sticker_provider_startup(void);
+extern void ITs_capi_ui_sticker_provider_cleanup(void);
+
+extern int ITc_capi_ui_sticker_data_sticker_data_create_destroy_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_clone_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_get_app_id_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_set_get_description_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_data_get_date_p(void);
+
+
+extern int ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p(void);
+
+extern int ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_insert_data_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_update_data_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_delete_data_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p(void);
+extern int ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p(void);
+
+
+testcase tc_array[] = {
+    {"ITc_capi_ui_sticker_data_sticker_data_create_destroy_p", ITc_capi_ui_sticker_data_sticker_data_create_destroy_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_clone_p", ITc_capi_ui_sticker_data_sticker_data_clone_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_get_app_id_p", ITc_capi_ui_sticker_data_sticker_data_get_app_id_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p", ITc_capi_ui_sticker_data_sticker_data_set_get_uri_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p", ITc_capi_ui_sticker_data_sticker_data_foreach_keyword_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p", ITc_capi_ui_sticker_data_sticker_data_add_remove_keyword_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p", ITc_capi_ui_sticker_data_sticker_data_set_get_group_name_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p", ITc_capi_ui_sticker_data_sticker_data_set_get_thumbnail_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_set_get_description_p", ITc_capi_ui_sticker_data_sticker_data_set_get_description_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_data_get_date_p", ITc_capi_ui_sticker_data_sticker_data_get_date_p, ITs_capi_ui_sticker_data_startup, ITs_capi_ui_sticker_data_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p", ITc_capi_ui_sticker_data_sticker_consumer_create_destroy_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_keyword_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_group_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p", ITc_capi_ui_sticker_data_sticker_consumer_data_foreach_by_type_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_group_list_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p", ITc_capi_ui_sticker_data_sticker_consumer_keyword_list_foreach_all_p, ITs_capi_ui_sticker_consumer_startup, ITs_capi_ui_sticker_consumer_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p", ITc_capi_ui_sticker_data_sticker_provider_create_destroy_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_insert_data_p", ITc_capi_ui_sticker_data_sticker_provider_insert_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p", ITc_capi_ui_sticker_data_sticker_provider_insert_data_by_json_file_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_update_data_p", ITc_capi_ui_sticker_data_sticker_provider_update_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_delete_data_p", ITc_capi_ui_sticker_data_sticker_provider_delete_data_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+
+{"ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p", ITc_capi_ui_sticker_data_sticker_provider_get_sticker_count_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+{"ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p", ITc_capi_ui_sticker_data_sticker_provider_data_foreach_all_p, ITs_capi_ui_sticker_provider_startup, ITs_capi_ui_sticker_provider_cleanup},
+ {NULL, NULL}
+};
+#endif // __TCT_CAPI_UI_STICKER_NATIVE_H__
index a455f759161e7c3982a8471d10d48d42bf89c0df..001d65e6e4f44cebf8d231dd1a6892c6ac408448 100755 (executable)
@@ -265,6 +265,10 @@ tizeniot:armv7l:itc:battery-monitor;
 tizeniot:aarch64:itc:battery-monitor;
 tizeniot:x86:itc:battery-monitor;
 tizeniot:x86_64:itc:battery-monitor;
+tizeniot:x86:itc:capi-ui-sticker;
+tizeniot:x86_64:itc:capi-ui-sticker;
+tizeniot:armv7l:itc:capi-ui-sticker;
+tizeniot:aarch64:itc:capi-ui-sticker;
 
 ## ctc ##
 tizeniot:armv7l:ctc:platform-permission;