536305321ab99267f9c035b241adc3cdca0c4ac7
[platform/core/multimedia/mm-resource-manager.git] / src / lib / mm_resource_manager_priv.h
1 /*
2  * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
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 #ifndef __MM_RESOURCE_MANAGER_PRIVATE__
18 #define __MM_RESOURCE_MANAGER_PRIVATE__
19
20
21
22 #include "lib/mm_resource_manager.h"
23
24 #include <stdint.h>
25
26 int _mm_resource_manager_create(mm_resource_manager_app_class_e app_class,
27                 mm_resource_manager_release_cb cb, void *cb_data,
28                 mm_resource_manager_h *rm);
29 int _mm_resource_manager_destroy(mm_resource_manager_h rm);
30 int _mm_resource_manager_mark_for_acquire(
31                 mm_resource_manager_h rm, mm_resource_manager_res_type_e type,
32                 mm_resource_manager_res_volume volume,
33                 mm_resource_manager_res_h *resource_h);
34 int _mm_resource_manager_resize_marked(mm_resource_manager_h rm,
35                 mm_resource_manager_res_h resource_h,
36                 mm_resource_manager_res_volume new_volume);
37 int _mm_resource_manager_mark_for_release(mm_resource_manager_h rm,
38                 mm_resource_manager_res_h resource_h);
39 int _mm_resource_manager_mark_all_for_release(mm_resource_manager_h rm);
40 int _mm_resource_manager_get_resource_info(mm_resource_manager_h rm,
41                 mm_resource_manager_res_h resource_h,
42                 mm_resource_manager_res_info_s *info);
43 int _mm_resource_manager_commit(mm_resource_manager_h rm);
44 int _mm_resource_manager_set_status_cb(mm_resource_manager_h rm,
45                 mm_resource_manager_status_cb cb, void *user_data);
46 int _mm_resource_manager_get_res_type_max_volume(mm_resource_manager_h rm,
47                 mm_resource_manager_res_type_e type,
48                 mm_resource_manager_res_volume *max_volume);
49 int _mm_resource_manager_get_res_type_volume(mm_resource_manager_h rm,
50                 mm_resource_manager_res_type_e type,
51                 mm_resource_manager_res_type_cond_e condition,
52                 mm_resource_manager_res_volume *volume);
53
54 #endif /* __MM_RESOURCE_MANAGER_PRIVATE__ */