diff -r 000000000000 -r 3da2a79470a7 testtoolsconn/stat/desktop/testsource/dlltester/inc/utils.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testtoolsconn/stat/desktop/testsource/dlltester/inc/utils.h Mon Mar 08 15:04:18 2010 +0800 @@ -0,0 +1,76 @@ +/* +* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + + + +// Utils.h : main header file for the basic utilities class +// + +#ifndef UTILS_H +#define UTILS_H + +#include +#include +#include + +// service requests +#define REQ_START 1 +#define REQ_STOP 2 + +// file requests +#define DELETEALL 1 +#define DELETEFILESONLY 2 +#define REMOVEALLATTRIBUTES 4 + + +class CUtils +{ + SC_HANDLE hSCM; + HANDLE m_hMutex; + WIN32_FIND_DATA ffd; + unsigned int iFileCommand; + unsigned int iFileCount; + TCHAR szError[2048]; + unsigned long retCode; + + bool Validate(SC_HANDLE hSCM, const char *szServiceName, DWORD dwState, bool bDisplayOnly = false); + void Recurse(const char * rootDir); + void DealWithDependentServices(const char *szServiceName, const unsigned int iRequest); + void _GetWindowsError(); + +public: + CUtils(); + ~CUtils(); + + bool AlreadyRunning(LPCTSTR szAppName); + bool CallProcessAndWait(LPCTSTR szApplication, LPTSTR szCommandLine, LPCTSTR szDirectory, bool bRunMinimised = false); + bool CallProcess(LPCTSTR szApplication, LPTSTR szCommandLine, LPCTSTR szDirectory); + bool ServiceRequest(const char *szServiceName, const unsigned int iRequest); + bool ListServices(DWORD dwState); + unsigned int RecurseDir(const char *szDirectory, const unsigned int iCommand); + void AddSlash(char *szPath); + int TrimBufferToFirstEOL(HANDLE mmphndl, char *szBuffer, bool bIncludeCR = true); + void TrimBufferToLastEOL(HANDLE mmphndl, char *szBuffer); + void TrimTabsCRAndWhitespace(char *szBuffer); + char *GetWindowsError(); + char *GetWindowsErrorNow(); + unsigned long GetReturnCode() {return retCode;} + unsigned long GetReturnCodeNow() {return GetLastError();} +}; + +#endif