xref: /aosp_15_r20/system/server_configurable_flags/aconfigd/libcxx_aconfigd.hpp (revision 207333786ba243bc7d4d69ef6b05487aa7071806)
1*20733378SAndroid Build Coastguard Worker #pragma once
2*20733378SAndroid Build Coastguard Worker 
3*20733378SAndroid Build Coastguard Worker #include "include/aconfigd.h"
4*20733378SAndroid Build Coastguard Worker #include "rust/cxx.h"
5*20733378SAndroid Build Coastguard Worker 
6*20733378SAndroid Build Coastguard Worker namespace aconfigdwrapper {
7*20733378SAndroid Build Coastguard Worker 
8*20733378SAndroid Build Coastguard Worker struct CppVoidResult;
9*20733378SAndroid Build Coastguard Worker struct CppStringResult;
10*20733378SAndroid Build Coastguard Worker enum class CppResultStatus : uint8_t;
11*20733378SAndroid Build Coastguard Worker 
12*20733378SAndroid Build Coastguard Worker class CppAconfigd {
13*20733378SAndroid Build Coastguard Worker  public:
14*20733378SAndroid Build Coastguard Worker   CppAconfigd(const std::string& aconfigd_root_dir,
15*20733378SAndroid Build Coastguard Worker               const std::string& storage_records);
16*20733378SAndroid Build Coastguard Worker   CppVoidResult initialize_platform_storage() const;
17*20733378SAndroid Build Coastguard Worker   CppVoidResult initialize_mainline_storage() const;
18*20733378SAndroid Build Coastguard Worker   CppVoidResult initialize_in_memory_storage_records() const;
19*20733378SAndroid Build Coastguard Worker   CppStringResult handle_socket_request(
20*20733378SAndroid Build Coastguard Worker       const std::string& messages_string) const;
21*20733378SAndroid Build Coastguard Worker 
22*20733378SAndroid Build Coastguard Worker  private:
23*20733378SAndroid Build Coastguard Worker   class impl;
24*20733378SAndroid Build Coastguard Worker   std::shared_ptr<impl> impl;
25*20733378SAndroid Build Coastguard Worker };
26*20733378SAndroid Build Coastguard Worker 
27*20733378SAndroid Build Coastguard Worker std::unique_ptr<CppAconfigd> new_cpp_aconfigd(const std::string& str1,
28*20733378SAndroid Build Coastguard Worker                                               const std::string& str2);
29*20733378SAndroid Build Coastguard Worker }  // namespace aconfigdwrapper
30