/* * 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_Storage.h * @version 0.1 * @brief This file is the header file of interface which saves and gets sync results */ #ifndef SE_STORAGE_H_ #define SE_STORAGE_H_ #include "common/common_define.h" #include "service-engine/se_error.h" /** * @par Description: API to save sync type, sync result , last sync time(each datastore) * This API can be used to save sync type, sync result , last sync time at the end of synchronization process * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] int type, account id * @param[in] enum type, AlertType * @param[in] enum type, sync_session_result_e * @param[in] int type, last sync time * @param[in] int type, whether or not tn end in pkg4 * * @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 write_profile_data(int account_id, alert_type_e alert_type, sync_session_result_e sync_session_result, int last_session_time, int only_from_client); /** * @par Description: API to save sync statistics(each datastore) * This API can be used to save statistics at the end of synchronization process * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] int type, account id * @param[in] int type, content type(TYPE_CONTACT, TYPE_CALENDAR, TYPE_MEMO) * @param[in] bool type whether from server or from client * @param[in] sync_result_s structure * * @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 write_sync_statistics(int account_id, int content_type, bool is_from_server, sync_result_s * sync_result); /** * @par Description: API to save sync result(each datastore) * This API can be used to save sync result at the end of synchronization process * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] int type, account id * @param[in] int type, content type(TYPE_CONTACT, TYPE_CALENDAR, TYPE_MEMO) * @param[in] int type, last sync time * @param[in] int type, whether or not to end in pkg4 * @param[in] sync_result_s structure, client * @param[in] sync_result_s structure, server * * @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 write_sync_resource_info(int account_id, int content_type, int last_session_time, int only_from_client, sync_result_s * client_sync_result, sync_result_s * server_sync_result); /** * @par Description: API to get profile data from config_tbl * This API can be used to get profile data * This API is part of API for UI * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] int type, account id * @param[out] string type, profile name * @param[out] string type, server ip * @param[out] string type, id * @param[out] string type, password * @param[out] int type, sync mode * @param[out] int type, sync type * @param[out] int type, interval * @param[out] int type, last_session_status * @param[out] int type, last_session_time * * * @return true on success * false on error * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code * @endcode */ bool get_profile_data(int account_id, char **profile_name, char **addr, char **id, char **password, int *sync_mode, int *sync_type, int *interval, int *last_session_status, int *last_session_time); /** * @par Description: API to get profile datastore information(enable, source uri, target uri, id, password) from config_tbl * This API can be used to get enable, source uri, target uri, id, password * This API is part of API for UI * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] int type, account id * @param[in] int type, content type(TYPE_CONTACT, TYPE_CALENDAR, TYPE_MEMO) * @param[out] string type, enabled * @param[out] int type, source uri * @param[out] string type, target uri * @param[out] string type, id * @param[out] string type, password * * @return true on success * false on error * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code * @endcode */ bool get_profile_sync_category(int account_id, int content_type, int *enabled, int *src_uri, char **tgt_uri, char **id, char **password); /** * @par Description: API to get profile sync statistics for each content type from config_tbl * This API can be used to get profile sync statistics for each content type * This API is part of API for UI * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[in] int type, account id * @param[in] int type, content type(TYPE_CONTACT, TYPE_CALENDAR, TYPE_MEMO) * @param[out] string type, sync result(success, fail, stop) * @param[out] int type, sync time * @param[out] int type, total items(server to client) * @param[out] int type, add items(server to client) * @param[out] int type, delete items(server to client) * @param[out] int type, replace items(server to client) * @param[out] int type, total items(client to server) * @param[out] int type, add items(client to server) * @param[out] int type, delete items(client to server) * @param[out] int type, replace items(client to server) * * @return true on success * false on error * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code * @endcode */ bool get_profile_statistics(int account_id, int content_type, char **dbSynced, int *last_session_time, int *server2client_total, int *server2client_nrofadd, int *server2client_nrofdelete, int *server2client_nrofreplace, int *client2server_total, int *client2server_nrofadd, int *client2server_nrofdelete, int *client2server_nrofreplace); /** * @par Description: API to get all profiles data from config_tbl * This API can be used to get all profiles data * This API is part of API for UI * * @par Purpose: * @par Typical use case: * @par Method of function operation: * @par Important notes: * @param[out] GList, all profiles data * * * @return true on success * false on error * * @par Errors: * * @pre None. * @post * @see * @remarks None. * * @par Sample Code: * @code * @endcode */ bool get_all_profiles_data(GList ** list); #endif /* SE_STORAGE_H_ */