• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 * Copyright (C) 2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 
16 #ifndef OHOS_MEDIALIBRARY_DFX_REFRESH_HANDER_H
17 #define OHOS_MEDIALIBRARY_DFX_REFRESH_HANDER_H
18 
19 
20 #include <string>
21 #include <vector>
22 #include <mutex>
23 #include "dfx_refresh_manager.h"
24 #include "abs_rdb_predicates.h"
25 #include "medialibrary_command.h"
26 
27 namespace OHOS {
28 namespace Media::AccurateRefresh {
29 #define EXPORT __attribute__ ((visibility ("default")))
30 
31 
32 class EXPORT DfxRefreshHander {
33 public:
34     DfxRefreshHander();
35     ~DfxRefreshHander();
36     EXPORT static void SetOperationStartTimeHander(std::shared_ptr<DfxRefreshManager> dfxRefreshManager);
37     EXPORT static void SetOptEndTimeHander(
38         std::string tableName, std::shared_ptr<DfxRefreshManager> dfxRefreshManager);
39     EXPORT static void SetOptEndTimeHander(
40         MediaLibraryCommand &cmd, std::shared_ptr<DfxRefreshManager> dfxRefreshManager);
41     EXPORT static void SetOptEndTimeHander(
42         const NativeRdb::AbsRdbPredicates &predicates, std::shared_ptr<DfxRefreshManager> dfxRefreshManager);
43     EXPORT static void SetAlbumIdAndOptTimeHander(
44         int32_t albumId, bool isHidden, std::shared_ptr<DfxRefreshManager> dfxRefreshManager);
45     EXPORT static void SetAlbumIdHander(int64_t albumId, std::shared_ptr<DfxRefreshManager> dfxRefreshManager);
46     EXPORT static void SetAlbumIdHander(const std::vector<int> &albumIds,
47         std::shared_ptr<DfxRefreshManager> dfxRefreshManager);
48     EXPORT static void SetEndTimeHander(std::shared_ptr<DfxRefreshManager> dfxRefreshManager);
49     EXPORT static void DfxRefreshReportHander(std::shared_ptr<DfxRefreshManager> dfxRefreshManager);
50 };
51 } // namespace Media
52 } // namespace OHOS
53 
54 #endif  // OHOS_MEDIA_DFX_MANAGER_H