/* * oma-ds-agent * Copyright (c) 2012 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. */ /** * @SE_Sync.h * @version 0.1 * @brief This file is the header file of interface of Service Engine */ #ifndef SYNCENGINE_H_ #define SYNCENGINE_H_ #include #include "common/common_define_internal.h" #include "service-engine/se_common.h" #include "framework/san-parser/pm_sanparser.h" #include "service-engine/se_error.h" /** * @par Description: API to process synchronization request * This API can be used to process synchronization by predefined profile information * This API uses Notification and Storage API which for notifying synchronization status to UI and saving sync results to Agent DB * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] int type, account id * @param[in] string type, sync mode(manual, push(SAN), periodic) * @param[in] SanPackage structure, only for SAN sync mode * @return true on success, false on error * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code int main() { bool ret = 0; ret = synchronize(accountId, syncMode, pSanPackage); if (ret == true) { //synchronization success } else { //synchronization fail } return 0; } * @endcode */ bool synchronize(int account_id, char *sync_mode, san_package_s * sanpackage); /** * @par Description: API to convert SyncProgress and SyncError from common error code * This API can be used to convert string to be used to notify to UI for sync results * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] enum type, common_error_type_e * @param[out] enum type, sync_progress_e * @param[out] enum type, sync_error_e * * @return * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code * @endcode */ void convert_common_errorcode(common_error_type_e error_code, sync_progress_e * process, sync_error_e * error); /** * @par Description: API to convert SyncProgress and SyncError from engine error code * This API can be used to convert string to be used to notify to UI for sync results * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] enum type, se_error_type_e * @param[out] enum type, sync_progress_e * @param[out] enum type, sync_error_e * * @return * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code * @endcode */ void convert_engine_errorcode(se_error_type_e err, sync_progress_e * process, sync_error_e * error); /** * @par Description: API to notify sync results for specific profile to UI * This API can be used to notify sync results(SyncProgress, SyncError) to UI * This API uses Notification which for notification module to send data using IPC * * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] string type, profile_dir_name(identify profile in UI) * @param[in] enum type, sync_progress_e * @param[in] enum type, sync_error_e * @param[in] enum type, se_error_type_e sync type * * @return SE_INTERNAL_OK on success * SE_INTERNAL_NOT_DEFINED, SE_INTERNAL_NO_MEMORY, SE_INTERNAL_EVENT_ERROR on error * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code * @endcode */ se_error_type_e session_process(char *profile_dir_name, alert_type_e server_sync_type, sync_progress_e process, sync_error_e error); /** * @par Description: API to reset all synchronizing profiles(off) & construct item_tbl from service for in case * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * * @return SE_INTERNAL_OK on success * SE_INTERNAL_DA_ERROR on error * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code * @endcode */ se_error_type_e reset_synchronizing_profiles(); /** * @par Description: API to refresh from service for all contents type * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] int type, account id * * @return true on success, * false on error * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code * @endcode */ bool refresh_from_service_all(int account_id); /** * @par Description: API to cancel connection during sync session * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * * @return SE_INTERNAL_OK on success * SE_INTERNAL_DA_ERROR on error * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code * @endcode */ se_error_type_e cancel_sync_request(); #endif /* SYNCENGINE_H_ */