Resync
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / CTest / cmCTestCVS.h
blobb2593c017cf715a34f71f1e0b552b33d623b1d0e
1 /*=========================================================================
3 Program: CMake - Cross-Platform Makefile Generator
4 Module: $RCSfile: cmCTestCVS.h,v $
5 Language: C++
6 Date: $Date: 2009-02-25 19:42:45 $
7 Version: $Revision: 1.2 $
9 Copyright (c) 2002 Kitware, Inc. All rights reserved.
10 See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12 This software is distributed WITHOUT ANY WARRANTY; without even
13 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 PURPOSE. See the above copyright notices for more information.
16 =========================================================================*/
17 #ifndef cmCTestCVS_h
18 #define cmCTestCVS_h
20 #include "cmCTestVC.h"
22 /** \class cmCTestCVS
23 * \brief Interaction with cvs command-line tool
26 class cmCTestCVS: public cmCTestVC
28 public:
29 /** Construct with a CTest instance and update log stream. */
30 cmCTestCVS(cmCTest* ctest, std::ostream& log);
32 virtual ~cmCTestCVS();
34 private:
35 // Implement cmCTestVC internal API.
36 virtual bool UpdateImpl();
37 virtual bool WriteXMLUpdates(std::ostream& xml);
39 // Update status for files in each directory.
40 class Directory: public std::map<cmStdString, PathStatus> {};
41 std::map<cmStdString, Directory> Dirs;
43 std::string ComputeBranchFlag(std::string const& dir);
44 void LoadRevisions(std::string const& file, const char* branchFlag,
45 std::vector<Revision>& revisions);
46 void WriteXMLDirectory(std::ostream& xml, std::string const& path,
47 Directory const& dir);
49 // Parsing helper classes.
50 class UpdateParser;
51 class LogParser;
52 friend class UpdateParser;
53 friend class LogParser;
56 #endif