summaryrefslogtreecommitdiffstats
path: root/Source/cmCablePackageEntryCommand.h
blob: e4ef3bd313c4809c7a02395f27b8f477f1dea4d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*=========================================================================

  Program:   Insight Segmentation & Registration Toolkit
  Module:    $RCSfile$
  Language:  C++
  Date:      $Date$
  Version:   $Revision$


  Copyright (c) 2000 National Library of Medicine
  All rights reserved.

  See COPYRIGHT.txt for copyright details.

=========================================================================*/
#ifndef cmCablePackageEntryCommand_h
#define cmCablePackageEntryCommand_h

#include "cmStandardIncludes.h"
#include "cmCableCommand.h"

/** \class cmCablePackageEntryCommand
 * \brief Superclass to all CABLE Package entry generation commands.
 *
 * cmCablePackageEntryCommand implements the Invoke method of a cmCommand
 * to save the arguments as a vector of entries to a CABLE Package.  The
 * Invoke then calls the virtual WriteConfiguration() so that the subclass
 * can generate the configuration code for its particular type of Package
 * entry.
 */
class cmCablePackageEntryCommand : public cmCableCommand
{
public:
  cmCablePackageEntryCommand() {}
  virtual ~cmCablePackageEntryCommand() {}
  
  /**
   * This is called when the command is first encountered in
   * the CMakeLists.txt file.
   */
  virtual bool Invoke(std::vector<std::string>& args);  

  cmTypeMacro(cmCablePackageEntryCommand, cmCableCommand);

  virtual void WriteConfiguration() const =0;
protected:
  typedef std::vector<std::string>  Entries;
  
  /**
   * The package entries.
   */
  Entries m_Entries;
};



#endif