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