Subversion Repositories DevTools

Rev

Rev 2218 | 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%4205D0C403E2.cm preserve=no
//## end module%4205D0C403E2.cm

//## begin module%4205D0C403E2.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%4205D0C403E2.cp

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

#ifndef TransactionStructure_h
#define TransactionStructure_h 1

//## begin module%4205D0C403E2.additionalIncludes preserve=no
//## end module%4205D0C403E2.additionalIncludes

//## begin module%4205D0C403E2.includes preserve=yes
//## end module%4205D0C403E2.includes


namespace XMLSchema {
class IXmlSchemaWrapperSchema;
class IXmlSchemaWrapperElement;
class IXmlSchemaWrapperHandle;
class IXmlSchemaWrapperFactory;
} // namespace XMLSchema

class TransactionStream;

//## begin module%4205D0C403E2.additionalDeclarations preserve=yes
#include <string>
//## end module%4205D0C403E2.additionalDeclarations


//## begin TransactionStructure%4205D0C403E2.preface preserve=yes
//## end TransactionStructure%4205D0C403E2.preface

//## Class: TransactionStructure%4205D0C403E2; private
//      A class that encapsulates a schema structure associated with a transaction.
//## Category: TransactionTestManager::Transaction Generation%4202F8EE0128
//## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4
//## Persistence: Transient
//## Cardinality/Multiplicity: n



//## Uses: <unnamed>%420820E10380;TransactionStream { -> F}
//## Uses: <unnamed>%42085EBA0031;XMLSchema::IXmlSchemaWrapperStream { -> }

class TransactionStructure 
{
  //## begin TransactionStructure%4205D0C403E2.initialDeclarations preserve=yes
  //## end TransactionStructure%4205D0C403E2.initialDeclarations

  public:
    //## Constructors (specified)
      //## Operation: TransactionStructure%4205D148027B
      //        The only constructor.
      TransactionStructure (const std::string &name,    // The name of the structure.
      const int &iteration,     // The iteration.
      XMLSchema::IXmlSchemaWrapperFactory &schemaFactory,       // The factory that we may call on to create and destroy schema artefacts.
        // While we do not accept ownership over this instance, we do assume its
        // validity for the remainder of our lifetime.
      XMLSchema::IXmlSchemaWrapperSchema &schema,       // The schema.
      const bool &isHeader      // Of value true when this structure is a header, and of value false otherwise.
      );

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


    //## Other Operations (specified)
      //## Operation: getName%4205D7B602F0
      //        Evaluate to the name of this structure.
      const std::string & getName () const;

      //## Operation: getSchemaElement%4206D93203BB
      //        Evaluate to the schema element of this structure.
      XMLSchema::IXmlSchemaWrapperElement & getSchemaElement ();

      //## Operation: isHeader%4207123A020C
      //        Evaluate to true when this structure is a header, and to false otherwise.
      const bool isHeader () const;

      //## Operation: write%4207140A0268
      //        Write this structure into the given stream.
      const bool write (TransactionStream& stream       // The stream into which to write.
      );

      //## Operation: write%4236929B00A3
      //        Write this structure into the given stream qualified using the given
      //        qualification object.
      const bool write (XMLSchema::IXmlSchemaWrapperStream& stream,     // The stream into which to write.
      XMLSchema::IXmlSchemaWrapperQualification &qualifier      // The qualifier.
      );

    // Additional Public Declarations
      //## begin TransactionStructure%4205D0C403E2.public preserve=yes
      //## end TransactionStructure%4205D0C403E2.public

  protected:
    // Additional Protected Declarations
      //## begin TransactionStructure%4205D0C403E2.protected preserve=yes
      //## end TransactionStructure%4205D0C403E2.protected

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

      TransactionStructure(const TransactionStructure &right);

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

    // Data Members for Class Attributes

      //## Attribute: structureName%4205D786008E
      //        The name of the structure.
      //## begin TransactionStructure::structureName%4205D786008E.attr preserve=no  private: std::string {VAC} name
      const std::string m_structureName;
      //## end TransactionStructure::structureName%4205D786008E.attr

      //## Attribute: isHeader%420711C80160
      //        Of value true when this structure is a header, and of value false otherwise.
      //## begin TransactionStructure::isHeader%420711C80160.attr preserve=no  private: bool {VAC} isHeader
      const bool m_isHeader;
      //## end TransactionStructure::isHeader%420711C80160.attr

    // Data Members for Associations

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%420442520246
      //## Role: TransactionStructure::structureHandle%420442530294
      //        The handle of structure that describes this transaction.  We need to keep
      //        theis, because we cannot get the handle from the structure, and we need the
      //        handle to destroy the structure in the schema.
      //## begin TransactionStructure::structureHandle%420442530294.role preserve=no  private: XMLSchema::IXmlSchemaWrapperHandle {1 -> 1RFHgAN}
      XMLSchema::IXmlSchemaWrapperHandle *m_structureHandle;
      //## end TransactionStructure::structureHandle%420442530294.role

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%42047F220227
      //## Role: TransactionStructure::structure%42047F2302D3
      //        The structure that describes this transaction.
      //## begin TransactionStructure::structure%42047F2302D3.role preserve=no  private: XMLSchema::IXmlSchemaWrapperElement {1 -> 1RFHgAN}
      XMLSchema::IXmlSchemaWrapperElement *m_structure;
      //## end TransactionStructure::structure%42047F2302D3.role

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%4205D3160343
      //## Role: TransactionStructure::schemaFactory%4205D3190101
      //        The factory that we may call on to create and destroy schema artefacts.
      //        While we do not accept ownership over this instance, we do assume its
      //        validity for the remainder of our lifetime.
      //## begin TransactionStructure::schemaFactory%4205D3190101.role preserve=no  private: XMLSchema::IXmlSchemaWrapperFactory {1 -> 1RFHAN}
      XMLSchema::IXmlSchemaWrapperFactory *m_schemaFactory;
      //## end TransactionStructure::schemaFactory%4205D3190101.role

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%4205D3A500B3
      //## Role: TransactionStructure::schema%4205D3A60130
      //        The schema.  While we do not accept ownership over this instance, we do
      //        assume its validity for the remainder of our lifetime.
      //## begin TransactionStructure::schema%4205D3A60130.role preserve=no  private: XMLSchema::IXmlSchemaWrapperSchema {1 -> 1RFHAN}
      XMLSchema::IXmlSchemaWrapperSchema *m_schema;
      //## end TransactionStructure::schema%4205D3A60130.role

    // Additional Private Declarations
      //## begin TransactionStructure%4205D0C403E2.private preserve=yes
      //## end TransactionStructure%4205D0C403E2.private

  private: //## implementation
    // Additional Implementation Declarations
      //## begin TransactionStructure%4205D0C403E2.implementation preserve=yes
      //## end TransactionStructure%4205D0C403E2.implementation

};

//## begin TransactionStructure%4205D0C403E2.postscript preserve=yes
//## end TransactionStructure%4205D0C403E2.postscript

// Class TransactionStructure 

//## begin module%4205D0C403E2.epilog preserve=yes
//## end module%4205D0C403E2.epilog


#endif