apply FSL(Flora Software License)
[apps/home/call.git] / call-engine / core / include / vc-core-engine-group.h
1 /*
2  * Copyright 2012  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.tizenopensource.org/license
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 #ifndef __VC_CORE_ENGINE_GROUP_H_
19 #define __VC_CORE_ENGINE_GROUP_H_
20
21 #include "vc-core-engine-types.h"
22 #include "vc-core-error.h"
23
24 /**
25 * This function retrieves the number of connected call members in the given group
26 *
27 * @return               ERROR_VOICECALL_NONE on success or return value contains appropriate error code on failure
28 * @param[in]    pvoicecall_agent        Handle to voicecall engine
29 * @param[in]    group_index             Group index of the group
30 * @param[out]   pmember_num     Pointer to the retrieved number of connected members
31 * @remarks              pvoicecall_agent and pmember_num cannot be NULL.
32 */
33 voicecall_error_t _vc_core_engine_group_get_connected_member_count(voicecall_engine_t *pvoicecall_agent, int group_index, int *pmember_num);
34
35 /**
36 * This function retrives the number of groups in which atleast one call member is available
37 *
38 * @return               ERROR_VOICECALL_NONE on success or return value contains appropriate error code on failure
39 * @param[in]    pvoicecall_agent        Handle to voicecall engine
40 * @param[out]   pnum_enabled_group      Pointer to the number of enabled groups
41 * @remarks              pvoicecall_agent and pnum_enabled_group cannot be NULL.
42 */
43 voicecall_error_t _vc_core_engine_group_get_enabled_group_count(voicecall_engine_t *pvoicecall_agent, int *pnum_enabled_group);
44
45 /**
46 * This function retrieves the group indices of active and held calls
47 *
48 * @return               ERROR_VOICECALL_NONE on success or return value contains appropriate error code on failure
49 * @param[in]    pvoicecall_agent        Handle to voicecall engine
50 * @param[out]   pact_grp_index  Set to the group index of active calls
51 * @param[out]   pheld_grp_index Set to the group index of held calls
52 * @remarks              pvoicecall_agent, pact_grp_index and pheld_grp_index cannot be NULL.
53 */
54 voicecall_error_t _vc_core_engine_group_get_group_indices(voicecall_engine_t *pvoicecall_agent, int *pact_grp_index, int *pheld_grp_index);
55
56 /**
57 * This function retrieves the call handle of the call member given its groupe index and position in the group
58 *
59 * @return               ERROR_VOICECALL_NONE on success or return value contains appropriate error code on failure
60 * @param[in]    pvoicecall_agent        Handle to voicecall engine
61 * @param[in]    group_index     Group index of the group
62 * @param[in]    pos             Position of the call in the group
63 * @param[out]   pcall_handle    Pointer to the call handle to be retrieved
64 * @remarks              pvoicecall_agent and pcall_handle cannot be NULL.
65 */
66 voicecall_error_t _vc_core_engine_group_get_call_handle_byposition(voicecall_engine_t *pvoicecall_agent, int group_index, int pos, int *pcall_handle);
67
68 /**
69 * This function checks if connected call exists in a given group
70 *
71 * @return               ERROR_VOICECALL_NONE on success or return value contains appropriate error code on failure
72 * @param[in]    pvoicecall_agent        Handle to voicecall engine
73 * @param[in]    group_index             Group index of the group
74 * @param[out]   bcall_exists            Contains TRUE if call exists in the given group, FALSE otherwise
75 * @remarks              pvoicecall_agent and bcall_exists cannot be NULL.
76 */
77 voicecall_error_t _vc_core_engine_group_isexists_connected_call_ingroup(voicecall_engine_t *pvoicecall_agent, int group_index, gboolean * bcall_exists);
78
79 #endif                          /*__VC_CORE_ENGINE_GROUP_H_*/