lshal: table columns affected by arg order.
Test: lshal
Test: lshal -pita
Bug: 35389839
Change-Id: I845a13b8d7cdf483f4d269e5c33626f6013b42d7
diff --git a/cmds/lshal/ListCommand.cpp b/cmds/lshal/ListCommand.cpp
index 7fb8083..31c42e7 100644
--- a/cmds/lshal/ListCommand.cpp
+++ b/cmds/lshal/ListCommand.cpp
@@ -213,29 +213,37 @@
const std::string &serverCmdline, const std::string &address,
const std::string &clients, const std::string &clientCmdlines) const {
std::vector<std::string> columns;
- if (mSelectedColumns & ENABLE_INTERFACE_NAME)
- columns.push_back(interfaceName);
- if (mSelectedColumns & ENABLE_TRANSPORT)
- columns.push_back(transport);
- if (mSelectedColumns & ENABLE_ARCH)
- columns.push_back(arch);
- if (mSelectedColumns & ENABLE_THREADS) {
- columns.push_back(threadUsage);
- }
- if (mSelectedColumns & ENABLE_SERVER_PID) {
- if (mEnableCmdlines) {
- columns.push_back(serverCmdline);
- } else {
- columns.push_back(server);
- }
- }
- if (mSelectedColumns & ENABLE_SERVER_ADDR)
- columns.push_back(address);
- if (mSelectedColumns & ENABLE_CLIENT_PIDS) {
- if (mEnableCmdlines) {
- columns.push_back(clientCmdlines);
- } else {
- columns.push_back(clients);
+ for (TableColumnType type : mSelectedColumns) {
+ switch (type) {
+ case TableColumnType::INTERFACE_NAME: {
+ columns.push_back(interfaceName);
+ } break;
+ case TableColumnType::TRANSPORT: {
+ columns.push_back(transport);
+ } break;
+ case TableColumnType::ARCH: {
+ columns.push_back(arch);
+ } break;
+ case TableColumnType::THREADS: {
+ columns.push_back(threadUsage);
+ } break;
+ case TableColumnType::SERVER_ADDR: {
+ columns.push_back(address);
+ } break;
+ case TableColumnType::SERVER_PID: {
+ if (mEnableCmdlines) {
+ columns.push_back(serverCmdline);
+ } else {
+ columns.push_back(server);
+ }
+ } break;
+ case TableColumnType::CLIENT_PIDS: {
+ if (mEnableCmdlines) {
+ columns.push_back(clientCmdlines);
+ } else {
+ columns.push_back(clients);
+ }
+ } break;
}
}
textTable->add(std::move(columns));
@@ -720,31 +728,31 @@
mVintf = true;
}
case 'i': {
- mSelectedColumns |= ENABLE_INTERFACE_NAME;
+ mSelectedColumns.push_back(TableColumnType::INTERFACE_NAME);
break;
}
case 't': {
- mSelectedColumns |= ENABLE_TRANSPORT;
+ mSelectedColumns.push_back(TableColumnType::TRANSPORT);
break;
}
case 'r': {
- mSelectedColumns |= ENABLE_ARCH;
+ mSelectedColumns.push_back(TableColumnType::ARCH);
break;
}
case 'p': {
- mSelectedColumns |= ENABLE_SERVER_PID;
+ mSelectedColumns.push_back(TableColumnType::SERVER_PID);
break;
}
case 'a': {
- mSelectedColumns |= ENABLE_SERVER_ADDR;
+ mSelectedColumns.push_back(TableColumnType::SERVER_ADDR);
break;
}
case 'c': {
- mSelectedColumns |= ENABLE_CLIENT_PIDS;
+ mSelectedColumns.push_back(TableColumnType::CLIENT_PIDS);
break;
}
case 'e': {
- mSelectedColumns |= ENABLE_THREADS;
+ mSelectedColumns.push_back(TableColumnType::THREADS);
break;
}
case 'm': {
@@ -788,8 +796,9 @@
return USAGE;
}
- if (mSelectedColumns == 0) {
- mSelectedColumns = ENABLE_INTERFACE_NAME | ENABLE_SERVER_PID | ENABLE_CLIENT_PIDS | ENABLE_THREADS;
+ if (mSelectedColumns.empty()) {
+ mSelectedColumns = {TableColumnType::INTERFACE_NAME, TableColumnType::THREADS,
+ TableColumnType::SERVER_PID, TableColumnType::CLIENT_PIDS};
}
return OK;
}
@@ -807,3 +816,4 @@
} // namespace lshal
} // namespace android
+