lshal: Allow selecting columns and sorting by column.
Examples: see tests below.
Test: lshal
Test: lshal -intpac
Test: lshal --sort=i
Test: lshal --sort=p
Bug: 34984175
Change-Id: Ia09823776a206868a5d58a2ede153a4538147756
diff --git a/cmds/lshal/Lshal.h b/cmds/lshal/Lshal.h
index c87ebc3..d7bcab2 100644
--- a/cmds/lshal/Lshal.h
+++ b/cmds/lshal/Lshal.h
@@ -48,6 +48,7 @@
private:
Status parseArgs(int argc, char **argv);
Status fetch();
+ void postprocess();
void dump() const;
void usage() const;
void putEntry(TableEntry &&entry);
@@ -56,11 +57,16 @@
Status fetchAllLibraries(const sp<::android::hidl::manager::V1_0::IServiceManager> &manager);
bool getReferencedPids(
pid_t serverPid, std::map<uint64_t, Pids> *objects) const;
+ void printLine(
+ const std::string &interfaceName,
+ const std::string &transport, const std::string &server,
+ const std::string &address, const std::string &clients) const;
-
- Table mTable;
+ Table mTable{};
std::ostream &mErr = std::cerr;
std::ostream &mOut = std::cout;
+ TableEntryCompare mSortColumn = nullptr;
+ TableEntrySelect mSelectedColumns = 0;
};