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
14 #include <afsconfig.h>
15 #include <afs/param.h>
24 * SERVICE-VIEW COLUMNS _______________________________________________________
28 void Services_SetDefaultView (LPVIEWINFO lpvi)
30 lpvi->lvsView = FLS_VIEW_LIST;
31 lpvi->nColsAvail = nSERVICECOLUMNS;
33 for (size_t iCol = 0; iCol < nSERVICECOLUMNS; ++iCol)
35 lpvi->cxColumns[ iCol ] = SERVICECOLUMNS[ iCol ].cxWidth;
36 lpvi->idsColumns[ iCol ] = SERVICECOLUMNS[ iCol ].idsColumn;
39 lpvi->iSort = svccolNAME;
42 lpvi->aColumns[0] = (int)svccolNAME;
43 lpvi->aColumns[1] = (int)svccolSTATUS;
44 lpvi->aColumns[2] = (int)svccolDATE_STARTSTOP;
49 * ROUTINES ___________________________________________________________________
53 size_t Services_GetAlertCount (LPSERVICE lpService)
55 return Alert_GetCount (lpService->GetIdentifier());
59 LPTSTR Services_GetColumnText (LPIDENT lpi, SERVICECOLUMN svccol, BOOL fShowServerName)
61 static TCHAR aszBuffer[ nSERVICECOLUMNS ][ cchRESOURCE ];
62 static size_t iBufferNext = 0;
63 LPTSTR pszBuffer = aszBuffer[ iBufferNext++ ];
64 if (iBufferNext == nSERVICECOLUMNS)
66 *pszBuffer = TEXT('\0');
68 LPSERVICESTATUS lpss = NULL;
70 if ((lpsp = (LPSERVICE_PREF)lpi->GetUserParam()) != NULL)
77 lpi->GetServiceName (pszBuffer);
80 TCHAR szNameSvr[ cchNAME ];
81 TCHAR szNameSvc[ cchNAME ];
82 lpi->GetServerName (szNameSvr);
83 lpi->GetServiceName (szNameSvc);
84 LPTSTR pszName = FormatString (IDS_SERVER_SERVICE, TEXT("%s%s"), szNameSvr, szNameSvc);
85 lstrcpy (pszBuffer, pszName);
93 if (lpss->type == SERVICETYPE_SIMPLE)
94 GetString (pszBuffer, IDS_SERVICETYPE_SIMPLE);
95 else if (lpss->type == SERVICETYPE_FS)
96 GetString (pszBuffer, IDS_SERVICETYPE_FS);
98 GetString (pszBuffer, IDS_SERVICETYPE_CRON);
105 lstrncpy (pszBuffer, lpss->szParams, cchRESOURCE-1);
106 pszBuffer[ cchRESOURCE-1 ] = TEXT('\0');
108 for (LPTSTR pch = pszBuffer; *pch; ++pch)
110 if (*pch == TEXT('\r') || *pch == TEXT('\t') || *pch == TEXT('\n'))
119 lstrncpy (pszBuffer, lpss->szNotifier, cchRESOURCE-1);
120 pszBuffer[ cchRESOURCE-1 ] = TEXT('\0');
122 for (LPTSTR pch = pszBuffer; *pch; ++pch)
124 if (*pch == TEXT('\r') || *pch == TEXT('\t') || *pch == TEXT('\n'))
133 if (lpss->state == SERVICESTATE_RUNNING)
134 GetString (pszBuffer, IDS_SERVICESTATE_RUNNING);
135 else if (lpss->state == SERVICESTATE_STOPPING)
136 GetString (pszBuffer, IDS_SERVICESTATE_STOPPING);
137 else if (lpss->state == SERVICESTATE_STARTING)
138 GetString (pszBuffer, IDS_SERVICESTATE_STARTING);
140 GetString (pszBuffer, IDS_SERVICESTATE_STOPPED);
144 case svccolDATE_START:
147 if (!FormatTime (pszBuffer, TEXT("%s"), &lpss->timeLastStart))
148 pszBuffer[0] = TEXT('\0');
152 case svccolDATE_STOP:
155 if (!FormatTime (pszBuffer, TEXT("%s"), &lpss->timeLastStop))
156 pszBuffer[0] = TEXT('\0');
160 case svccolDATE_STARTSTOP:
165 if ((lpss->state == SERVICESTATE_RUNNING) || (lpss->state == SERVICESTATE_STARTING))
167 ids = IDS_SERVICE_STARTDATE;
168 pst = &lpss->timeLastStart;
172 ids = IDS_SERVICE_STOPDATE;
173 pst = &lpss->timeLastStop;
176 TCHAR szDate[ cchRESOURCE ];
177 if (FormatTime (szDate, TEXT("%s"), pst))
179 LPTSTR psz = FormatString (ids, TEXT("%s"), szDate);
180 lstrcpy (pszBuffer, psz);
186 case svccolDATE_FAILED:
189 if (!FormatTime (pszBuffer, TEXT("%s"), &lpss->timeLastFail))
190 pszBuffer[0] = TEXT('\0');
194 case svccolLASTERROR:
197 LPTSTR psz = FormatString (IDS_SERVICE_LASTERROR, TEXT("%ld"), lpss->dwErrLast);
198 lstrcpy (pszBuffer, psz);