1 /*
2  * Copyright 2022 The Android Open Source Project
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 #include <android-base/properties.h>
17 #include <dump/pixel_dump.h>
18 
19 #include "android_property_manager_impl.h"
20 #include "dumper.h"
21 #include "modem_log_dumper.h"
22 
23 namespace pixel_modem::logging {
24 
25 /**
26  * @brief Implementation of Dumper that directly forwards to their corresponding
27  * dumpstate methods.
28  */
29 class DumperImpl : public Dumper {
30  public:
DumpLogs(const LogDumpInfo & log_dump_info)31   void DumpLogs(const LogDumpInfo& log_dump_info) override {
32     dumpLogs(log_dump_info.src_dir.data(), log_dump_info.dest_dir.data(),
33              log_dump_info.limit, log_dump_info.prefix.data());
34   }
CopyFile(const FileCopyInfo & file_copy_info)35   void CopyFile(const FileCopyInfo& file_copy_info) override {
36     copyFile(file_copy_info.src_dir.data(), file_copy_info.dest_dir.data());
37   }
38 };
39 
40 }  // namespace pixel_modem::logging
41 
main()42 int main() {
43   pixel_modem::logging::DumperImpl dumper_impl;
44   pixel_modem::AndroidPropertyManagerImpl android_property_manager_impl;
45   pixel_modem::logging::ModemLogDumper modem_log_dumper(
46       dumper_impl, android_property_manager_impl);
47 
48   modem_log_dumper.DumpModemLogs();
49   return 0;
50 }
51