diff options
Diffstat (limited to 'include/service-engine/se_sync.h')
-rwxr-xr-x | include/service-engine/se_sync.h | 234 |
1 files changed, 234 insertions, 0 deletions
diff --git a/include/service-engine/se_sync.h b/include/service-engine/se_sync.h new file mode 100755 index 0000000..7f63c5c --- /dev/null +++ b/include/service-engine/se_sync.h @@ -0,0 +1,234 @@ +/* + * 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 <stdbool.h> +#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_ */ |