1cc290419Sopenharmony_ci/*
2cc290419Sopenharmony_ci * Copyright (C) 2024 Huawei Device Co., Ltd.
3cc290419Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4cc290419Sopenharmony_ci * you may not use this file except in compliance with the License.
5cc290419Sopenharmony_ci * You may obtain a copy of the License at
6cc290419Sopenharmony_ci *
7cc290419Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8cc290419Sopenharmony_ci *
9cc290419Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10cc290419Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11cc290419Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12cc290419Sopenharmony_ci * See the License for the specific language governing permissions and
13cc290419Sopenharmony_ci * limitations under the License.
14cc290419Sopenharmony_ci */
15cc290419Sopenharmony_ci#ifndef HDC_COMPRESS_H
16cc290419Sopenharmony_ci#define HDC_COMPRESS_H
17cc290419Sopenharmony_ci
18cc290419Sopenharmony_ci#include <vector>
19cc290419Sopenharmony_ci#include <string>
20cc290419Sopenharmony_ci
21cc290419Sopenharmony_ci#include "entry.h"
22cc290419Sopenharmony_ci
23cc290419Sopenharmony_cinamespace Hdc {
24cc290419Sopenharmony_ciclass Compress {
25cc290419Sopenharmony_cipublic:
26cc290419Sopenharmony_ci    Compress() {}
27cc290419Sopenharmony_ci    ~Compress() {}
28cc290419Sopenharmony_ci
29cc290419Sopenharmony_ci    bool AddPath(std::string path);
30cc290419Sopenharmony_ci    bool AddEntry(std::string path);
31cc290419Sopenharmony_ci    bool SaveToFile(std::string localPath);
32cc290419Sopenharmony_ci    void UpdataPrefix(std::string pathPrefix);
33cc290419Sopenharmony_ci    void UpdataMaxCount(size_t maxCount);
34cc290419Sopenharmony_ciprivate:
35cc290419Sopenharmony_ci    std::vector<Entry> entrys;
36cc290419Sopenharmony_ci    std::string prefix;
37cc290419Sopenharmony_ci    size_t maxcount;
38cc290419Sopenharmony_ci};
39cc290419Sopenharmony_ci}
40cc290419Sopenharmony_ci
41cc290419Sopenharmony_ci#endif
42