2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 #include <afs/param.h>
20 * AGGREGATE-VIEW COLUMNS _____________________________________________________
24 void Aggregates_SetDefaultView (LPVIEWINFO lpvi)
26 lpvi->lvsView = FLS_VIEW_LIST;
27 lpvi->nColsAvail = nAGGREGATECOLUMNS;
29 for (size_t iCol = 0; iCol < nAGGREGATECOLUMNS; ++iCol)
31 lpvi->cxColumns[ iCol ] = AGGREGATECOLUMNS[ iCol ].cxWidth;
32 lpvi->idsColumns[ iCol ] = AGGREGATECOLUMNS[ iCol ].idsColumn;
35 lpvi->iSort = aggcolNAME;
38 lpvi->aColumns[0] = (int)aggcolNAME;
39 lpvi->aColumns[1] = (int)aggcolID;
40 lpvi->aColumns[2] = (int)aggcolDEVICE;
41 lpvi->aColumns[3] = (int)aggcolUSED;
42 lpvi->aColumns[4] = (int)aggcolTOTAL;
43 lpvi->aColumns[5] = (int)aggcolUSED_PER;
44 lpvi->aColumns[6] = (int)aggcolSTATUS;
48 size_t Aggregates_GetAlertCount (LPAGGREGATE lpAggregate)
50 return Alert_GetCount (lpAggregate->GetIdentifier());
54 LPTSTR Aggregates_GetColumnText (LPIDENT lpi, AGGREGATECOLUMN aggcol, BOOL fShowServerName)
56 static TCHAR aszBuffer[ nAGGREGATECOLUMNS ][ cchRESOURCE ];
57 static size_t iBufferNext = 0;
58 LPTSTR pszBuffer = aszBuffer[ iBufferNext++ ];
59 if (iBufferNext == nAGGREGATECOLUMNS)
61 pszBuffer[0] = TEXT('\0');
63 LPAGGREGATE_PREF lpap;
64 LPAGGREGATESTATUS lpas = NULL;
65 LPTSTR pszDevice = NULL;
66 if ((lpap = (LPAGGREGATE_PREF)lpi->GetUserParam()) != NULL)
69 pszDevice = lpap->szDevice;
76 lpi->GetAggregateName (pszBuffer);
79 TCHAR szNameSvr[ cchNAME ];
80 TCHAR szNameAgg[ cchNAME ];
81 lpi->GetServerName (szNameSvr);
82 lpi->GetAggregateName (szNameAgg);
83 LPTSTR pszName = FormatString (IDS_SERVER_AGGREGATE, TEXT("%s%s"), szNameSvr, szNameAgg);
84 lstrcpy (pszBuffer, pszName);
91 wsprintf (pszBuffer, TEXT("%lu"), lpas->dwID);
96 lstrcpy (pszBuffer, pszDevice);
102 LPTSTR psz = FormatString (TEXT("%1"), TEXT("%.1B"), 1024.0 * (lpas->ckStorageTotal - lpas->ckStorageFree));
103 lstrcpy (pszBuffer, psz);
112 if (lpas->ckStorageTotal != 0)
113 dwPer = (DWORD)( 100.0 * (lpas->ckStorageTotal - lpas->ckStorageFree) / lpas->ckStorageTotal );
115 dwPer = limit( 0, dwPer, 100 );
117 LPTSTR psz = FormatString (IDS_PERCENTAGE, TEXT("%lu"), dwPer);
118 lstrcpy (pszBuffer, psz);
123 case aggcolALLOCATED:
126 LPTSTR psz = FormatString (TEXT("%1"), TEXT("%.1B"), 1024.0 * lpas->ckStorageAllocated);
127 lstrcpy (pszBuffer, psz);
135 LPTSTR psz = FormatString (TEXT("%1"), TEXT("%.1B"), 1024.0 * lpas->ckStorageFree);
136 lstrcpy (pszBuffer, psz);
144 LPTSTR psz = FormatString (TEXT("%1"), TEXT("%.1B"), 1024.0 * lpas->ckStorageTotal);
145 lstrcpy (pszBuffer, psz);
152 if ((pszDesc = Alert_GetQuickDescription (lpi)) == NULL)
153 GetString (pszBuffer, IDS_STATUS_NOALERTS);
156 lstrcpy (pszBuffer, pszDesc);
157 FreeString (pszDesc);