libprocessgroup: Remove dependency on libcgrouprc
Read cgroup descriptors ourselves instead of going through the LLNDK
interface which performs the same thing.
Bug: 349105928
Change-Id: I94625ffd0d884d619eb3449e63a305ad5e1d77e3
diff --git a/libprocessgroup/cgroup_map.h b/libprocessgroup/cgroup_map.h
index 3642794..5ad59bd 100644
--- a/libprocessgroup/cgroup_map.h
+++ b/libprocessgroup/cgroup_map.h
@@ -18,15 +18,17 @@
#include <sys/types.h>
+#include <cstdint>
#include <string>
-#include <android/cgrouprc.h>
+#include <processgroup/cgroup_controller.h>
+#include <processgroup/util.h>
-// Convenient wrapper of an ACgroupController pointer.
+// Convenient wrapper of a CgroupController pointer.
class CgroupControllerWrapper {
public:
// Does not own controller
- explicit CgroupControllerWrapper(const ACgroupController* controller)
+ explicit CgroupControllerWrapper(const CgroupController* controller)
: controller_(controller) {}
uint32_t version() const;
@@ -47,7 +49,7 @@
MISSING = 2,
};
- const ACgroupController* controller_ = nullptr;
+ const CgroupController* controller_ = nullptr; // CgroupMap owns the object behind this pointer
ControllerState state_ = ControllerState::UNKNOWN;
};
@@ -60,7 +62,8 @@
private:
bool loaded_ = false;
+ CgroupDescriptorMap descriptors_;
CgroupMap();
- bool LoadRcFile();
+ bool LoadDescriptors();
void Print() const;
};