ueventd: convert platform_names from C list to std::vector
Also simplify this code a bit.
There's only one consumer that removes the /devices/platform prefix,
so have them handle it instead of storing two copies of the string.
Remove an unneeded search for '/' in get_character_device_symlinks()
as a / will always be the next character after a parent path, by
nature of FindPlatformDevice().
Test: boot bullhead
Test: init unit tests
Change-Id: I9d0482d137b1342ae7509ae993ff99198be814f0
diff --git a/init/devices.h b/init/devices.h
index c12ba9d..b8b039f 100644
--- a/init/devices.h
+++ b/init/devices.h
@@ -59,10 +59,11 @@
int get_device_fd();
// Exposed for testing
-void add_platform_device(const char* path);
-void remove_platform_device(const char* path);
+extern std::vector<std::string> platform_devices;
+bool find_platform_device(const std::string& path, std::string* out_path);
std::vector<std::string> get_character_device_symlinks(uevent* uevent);
std::vector<std::string> get_block_device_symlinks(uevent* uevent);
void sanitize_partition_name(std::string* string);
+void handle_platform_device_event(uevent* uevent);
#endif /* _INIT_DEVICES_H */