summaryrefslogtreecommitdiff
path: root/include/service-engine/se_sync.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/service-engine/se_sync.h')
-rwxr-xr-xinclude/service-engine/se_sync.h234
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_ */