CMake/Source/CTest/cmCTestUpdateHandler.h

58 lines
1.4 KiB
C++

/*=========================================================================
Program: CMake - Cross-Platform Makefile Generator
Module: $RCSfile$
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) 2002 Kitware, Inc. All rights reserved.
See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef cmCTestUpdateHandler_h
#define cmCTestUpdateHandler_h
#include "cmCTestGenericHandler.h"
#include "cmListFileCache.h"
/** \class cmCTestUpdateHandler
* \brief A class that handles ctest -S invocations
*
*/
class cmCTestUpdateHandler : public cmCTestGenericHandler
{
public:
/*
* The main entry point for this class
*/
int ProcessHandler();
cmCTestUpdateHandler();
enum {
e_CVS,
e_SVN
};
private:
// Some structures needed for update
struct StringPair :
public std::pair<std::string, std::string>{};
struct UpdateFiles : public std::vector<StringPair>{};
struct AuthorsToUpdatesMap :
public std::map<std::string, UpdateFiles>{};
// Determine the type of version control
int DetermineType(const char* cmd, const char* type);
};
#endif