4 * Copyright (c) 2010 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
21 #include "ctsvc_internal.h"
22 #include "ctsvc_inotify.h"
23 #include "ctsvc_client_handle.h"
25 API int contacts_db_add_changed_cb(const char* view_uri, contacts_db_changed_cb cb,
29 contacts_h contact = NULL;
31 RETVM_IF(NULL == view_uri, CONTACTS_ERROR_INVALID_PARAMETER,
32 "Invalid parameter : view_uri is null");
33 RETVM_IF(NULL == cb, CONTACTS_ERROR_INVALID_PARAMETER,
34 "Invalid parameter : callback is null");
36 ret = ctsvc_client_handle_get_p(&contact);
37 RETVM_IF(CONTACTS_ERROR_NONE != ret, ret, "ctsvc_client_handle_get_p() Fail(%d)", ret);
39 ret = ctsvc_inotify_subscribe(contact, view_uri, cb, user_data);
40 RETVM_IF(CONTACTS_ERROR_NONE != ret, ret,
41 "ctsvc_inotify_subscribe(%s) Fail(%d)", view_uri, ret);
43 return CONTACTS_ERROR_NONE;
46 API int contacts_db_remove_changed_cb(const char* view_uri, contacts_db_changed_cb cb,
50 contacts_h contact = NULL;
52 RETVM_IF(NULL == view_uri, CONTACTS_ERROR_INVALID_PARAMETER,
53 "Invalid parameter : view_uri is null");
54 RETVM_IF(NULL == cb, CONTACTS_ERROR_INVALID_PARAMETER,
55 "Invalid parameter : callback is null");
57 ret = ctsvc_client_handle_get_p(&contact);
58 RETVM_IF(CONTACTS_ERROR_NONE != ret, ret, "ctsvc_client_handle_get_p() Fail(%d)", ret);
60 ret = ctsvc_inotify_unsubscribe(contact, view_uri, cb, user_data);
61 RETVM_IF(CONTACTS_ERROR_NONE != ret, ret,
62 "ctsvc_inotify_unsubscribe(%s) Fail(%d)", view_uri, ret);
64 return CONTACTS_ERROR_NONE;