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 * SERVICE-VIEW COLUMNS _______________________________________________________
24 void Services_SetDefaultView (LPVIEWINFO lpvi)
26 lpvi->lvsView = FLS_VIEW_LIST;
27 lpvi->nColsAvail = nSERVICECOLUMNS;
29 for (size_t iCol = 0; iCol < nSERVICECOLUMNS; ++iCol)
31 lpvi->cxColumns[ iCol ] = SERVICECOLUMNS[ iCol ].cxWidth;
32 lpvi->idsColumns[ iCol ] = SERVICECOLUMNS[ iCol ].idsColumn;
35 lpvi->iSort = svccolNAME;
38 lpvi->aColumns[0] = (int)svccolNAME;
39 lpvi->aColumns[1] = (int)svccolSTATUS;
40 lpvi->aColumns[2] = (int)svccolDATE_STARTSTOP;
45 * ROUTINES ___________________________________________________________________
49 size_t Services_GetAlertCount (LPSERVICE lpService)
51 return Alert_GetCount (lpService->GetIdentifier());
55 LPTSTR Services_GetColumnText (LPIDENT lpi, SERVICECOLUMN svccol, BOOL fShowServerName)
57 static TCHAR aszBuffer[ nSERVICECOLUMNS ][ cchRESOURCE ];
58 static size_t iBufferNext = 0;
59 LPTSTR pszBuffer = aszBuffer[ iBufferNext++ ];
60 if (iBufferNext == nSERVICECOLUMNS)
62 *pszBuffer = TEXT('\0');
64 LPSERVICESTATUS lpss = NULL;
66 if ((lpsp = (LPSERVICE_PREF)lpi->GetUserParam()) != NULL)
73 lpi->GetServiceName (pszBuffer);
76 TCHAR szNameSvr[ cchNAME ];
77 TCHAR szNameSvc[ cchNAME ];
78 lpi->GetServerName (szNameSvr);
79 lpi->GetServiceName (szNameSvc);
80 LPTSTR pszName = FormatString (IDS_SERVER_SERVICE, TEXT("%s%s"), szNameSvr, szNameSvc);
81 lstrcpy (pszBuffer, pszName);
89 if (lpss->type == SERVICETYPE_SIMPLE)
90 GetString (pszBuffer, IDS_SERVICETYPE_SIMPLE);
91 else if (lpss->type == SERVICETYPE_FS)
92 GetString (pszBuffer, IDS_SERVICETYPE_FS);
94 GetString (pszBuffer, IDS_SERVICETYPE_CRON);
101 lstrncpy (pszBuffer, lpss->szParams, cchRESOURCE-1);
102 pszBuffer[ cchRESOURCE-1 ] = TEXT('\0');
104 for (LPTSTR pch = pszBuffer; *pch; ++pch)
106 if (*pch == TEXT('\r') || *pch == TEXT('\t') || *pch == TEXT('\n'))
115 lstrncpy (pszBuffer, lpss->szNotifier, cchRESOURCE-1);
116 pszBuffer[ cchRESOURCE-1 ] = TEXT('\0');
118 for (LPTSTR pch = pszBuffer; *pch; ++pch)
120 if (*pch == TEXT('\r') || *pch == TEXT('\t') || *pch == TEXT('\n'))
129 if (lpss->state == SERVICESTATE_RUNNING)
130 GetString (pszBuffer, IDS_SERVICESTATE_RUNNING);
131 else if (lpss->state == SERVICESTATE_STOPPING)
132 GetString (pszBuffer, IDS_SERVICESTATE_STOPPING);
133 else if (lpss->state == SERVICESTATE_STARTING)
134 GetString (pszBuffer, IDS_SERVICESTATE_STARTING);
136 GetString (pszBuffer, IDS_SERVICESTATE_STOPPED);
140 case svccolDATE_START:
143 if (!FormatTime (pszBuffer, TEXT("%s"), &lpss->timeLastStart))
144 pszBuffer[0] = TEXT('\0');
148 case svccolDATE_STOP:
151 if (!FormatTime (pszBuffer, TEXT("%s"), &lpss->timeLastStop))
152 pszBuffer[0] = TEXT('\0');
156 case svccolDATE_STARTSTOP:
161 if ((lpss->state == SERVICESTATE_RUNNING) || (lpss->state == SERVICESTATE_STARTING))
163 ids = IDS_SERVICE_STARTDATE;
164 pst = &lpss->timeLastStart;
168 ids = IDS_SERVICE_STOPDATE;
169 pst = &lpss->timeLastStop;
172 TCHAR szDate[ cchRESOURCE ];
173 if (FormatTime (szDate, TEXT("%s"), pst))
175 LPTSTR psz = FormatString (ids, TEXT("%s"), szDate);
176 lstrcpy (pszBuffer, psz);
182 case svccolDATE_FAILED:
185 if (!FormatTime (pszBuffer, TEXT("%s"), &lpss->timeLastFail))
186 pszBuffer[0] = TEXT('\0');
190 case svccolLASTERROR:
193 LPTSTR psz = FormatString (IDS_SERVICE_LASTERROR, TEXT("%ld"), lpss->dwErrLast);
194 lstrcpy (pszBuffer, psz);