MCPcopy Create free account
hub / github.com/BeneficialCode/WinArk / DoSort

Method DoSort

WinArk/LogonSessionsView.cpp:27–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25}
26
27void CLogonSessionsView::DoSort(const SortInfo* si) {
28 if (si == nullptr)
29 return;
30
31 std::sort(m_Sessions.begin(), m_Sessions.end(), [=](const auto& s1, const auto& s2) {
32 switch (si->SortColumn) {
33 case 0: return SortHelper::SortNumbers(s1.Index, s2.Index, si->SortAscending);
34 case 1: return SortHelper::SortNumbers(*(long long*)&s1.LogonId, *(long long*)&s2.LogonId, si->SortAscending);
35 case 2: return SortHelper::SortStrings(s1.LogonDomain + L"\\" + s1.UserName, s2.LogonDomain + L"\\" + s2.UserName, si->SortAscending);
36 case 3: return SortHelper::SortNumbers(s1.LogonTime.QuadPart, s2.LogonTime.QuadPart, si->SortAscending);
37 case 4: return SortHelper::SortNumbers(s1.Session, s2.Session, si->SortAscending);
38 case 5: return SortHelper::SortStrings(LogonTypeToString(s1.LogonType), LogonTypeToString(s2.LogonType), si->SortAscending);
39 case 6: return SortHelper::SortStrings(s1.AuthenticationPackage, s2.AuthenticationPackage, si->SortAscending);
40 }
41 return false;
42 });
43}
44
45bool CLogonSessionsView::IsSortable(HWND,int col) const {
46 return col != 7;

Callers

nothing calls this directly

Calls 3

SortNumbersFunction · 0.85
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected