Subversion Repositories DevTools

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

//## begin module%1.7%.codegen_version preserve=yes
//   Read the documentation to learn more about C++ code generator
//   versioning.
//## end module%1.7%.codegen_version

//## begin module%4209BA4C03B8.cm preserve=no
//## end module%4209BA4C03B8.cm

//## begin module%4209BA4C03B8.cp preserve=no
//      C O P Y R I G H T   N O T I C E
//      This material is confidential to ERG and may not be disclosed in whole
//      or in part to any third party nor used in any manner whatsoever other
//      than for the purposes expressly consented to by ERG in writing.
//
//      This material is also copyright and may not be reproduced, stored in a
//      retrieval system or transmitted in any form or by any means in whole or
//      in part without the express written consent of ERG.
//## end module%4209BA4C03B8.cp

//## Module: UdFileManifest%4209BA4C03B8; Pseudo Package specification
//## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4
//## Source file: Z:\MASS_Dev\Tools\TxnTestManager\src\UdFileManifest.h

#ifndef UdFileManifest_h
#define UdFileManifest_h 1

//## begin module%4209BA4C03B8.additionalIncludes preserve=no
//## end module%4209BA4C03B8.additionalIncludes

//## begin module%4209BA4C03B8.includes preserve=yes
//## end module%4209BA4C03B8.includes

//## begin module%4209BA4C03B8.additionalDeclarations preserve=yes
#include <fstream>
#include <string>
//## end module%4209BA4C03B8.additionalDeclarations


//## begin UdFileManifest%4209BA4C03B8.preface preserve=yes
//## end UdFileManifest%4209BA4C03B8.preface

//## Class: UdFileManifest%4209BA4C03B8
//      A manifest of UD files.
//## Category: TransactionTestManager::Transaction Generation%4202F8EE0128
//## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4
//## Persistence: Transient
//## Cardinality/Multiplicity: n



//## Uses: <unnamed>%4209BBCD00AD;TransactionStream { -> }

class UdFileManifest 
{
  //## begin UdFileManifest%4209BA4C03B8.initialDeclarations preserve=yes
  //## end UdFileManifest%4209BA4C03B8.initialDeclarations

  public:
    //## Constructors (specified)
      //## Operation: UdFileManifest%4209BAA8031C
      //        The only constructor.
      UdFileManifest (const std::string &folder,        // The folder in the file-system into which to write the transaction stream.
      const std::string &prefix = "udMan",      // The prefix given to manifest filenames opened by this instance.
      const std::string &suffix = ".txt"        // The suffix given to manifest filenames opened by this instance.
      );

    //## Destructor (generated)
      virtual ~UdFileManifest();


    //## Other Operations (specified)
      //## Operation: addUdFile%4209BAC703E7
      //        Add the given file to this manifest.
      void addUdFile (const std::string &file   // The file to add.
      );

    // Additional Public Declarations
      //## begin UdFileManifest%4209BA4C03B8.public preserve=yes
      //## end UdFileManifest%4209BA4C03B8.public

  protected:
    // Additional Protected Declarations
      //## begin UdFileManifest%4209BA4C03B8.protected preserve=yes
      //## end UdFileManifest%4209BA4C03B8.protected

  private:
    //## Constructors (generated)
      UdFileManifest();

      UdFileManifest(const UdFileManifest &right);

    //## Assignment Operation (generated)
      UdFileManifest & operator=(const UdFileManifest &right);


    //## Other Operations (specified)
      //## Operation: close%4209BAC10389
      //        Close the transaction stream.
      void close ();

      //## Operation: open%4209BAC10399
      //        Open the transaction stream.
      const bool open ();

    // Data Members for Class Attributes

      //## Attribute: count%4209BCEE02B0
      //        The number of files contained in this manifest.
      //## begin UdFileManifest::count%4209BCEE02B0.attr preserve=no  private: unsigned {VA} 0
      unsigned m_count;
      //## end UdFileManifest::count%4209BCEE02B0.attr

      //## Attribute: folder%4209BB3403E7
      //        The folder in the file-system to which we write the transaction stream.
      //## begin UdFileManifest::folder%4209BB3403E7.attr preserve=no  private: std::string {VA} folder
      std::string m_folder;
      //## end UdFileManifest::folder%4209BB3403E7.attr

      //## Attribute: prefix%4209BB35000E
      //        The prefix given to manifest filenames opened by this instance.
      //## begin UdFileManifest::prefix%4209BB35000E.attr preserve=no  private: std::string {VA} prefix
      std::string m_prefix;
      //## end UdFileManifest::prefix%4209BB35000E.attr

      //## Attribute: stream%4209BB35002E
      //        The underlying stream currently open for writing.
      //## begin UdFileManifest::stream%4209BB35002E.attr preserve=no  private: std::ofstream {RA} 0
      std::ofstream *m_stream;
      //## end UdFileManifest::stream%4209BB35002E.attr

      //## Attribute: suffix%4209BB35001E
      //        The suffix given to manifest filenames opened by this instance.
      //## begin UdFileManifest::suffix%4209BB35001E.attr preserve=no  private: std::string {VA} suffix
      std::string m_suffix;
      //## end UdFileManifest::suffix%4209BB35001E.attr

    // Additional Private Declarations
      //## begin UdFileManifest%4209BA4C03B8.private preserve=yes
      //## end UdFileManifest%4209BA4C03B8.private

  private: //## implementation
    // Additional Implementation Declarations
      //## begin UdFileManifest%4209BA4C03B8.implementation preserve=yes
      //## end UdFileManifest%4209BA4C03B8.implementation

};

//## begin UdFileManifest%4209BA4C03B8.postscript preserve=yes
//## end UdFileManifest%4209BA4C03B8.postscript

// Class UdFileManifest 

//## begin module%4209BA4C03B8.epilog preserve=yes
//## end module%4209BA4C03B8.epilog


#endif