Subversion Repositories DevTools

Rev

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

//## begin module%42116B3700AD.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%42116B3700AD.cp

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

#ifndef EvaluationContext_h
#define EvaluationContext_h 1

//## begin module%42116B3700AD.additionalIncludes preserve=no
//## end module%42116B3700AD.additionalIncludes

//## begin module%42116B3700AD.includes preserve=yes
//## end module%42116B3700AD.includes


class DefinedVariableTable;
class SequenceCollection;
class TimeEstimate;
class ProgressBar;
namespace XMLSchema {
class IXmlSchemaWrapperElement;
} // namespace XMLSchema

class TransactionSpecification;
class ICryptographicServerProxy;
class IMessageDigest;

//## begin module%42116B3700AD.additionalDeclarations preserve=yes
//## end module%42116B3700AD.additionalDeclarations


//## begin EvaluationContext%42116B3700AD.preface preserve=yes
//## end EvaluationContext%42116B3700AD.preface

//## Class: EvaluationContext%42116B3700AD; private
//      This class encapsulates the context for evaluating expressions.
//## Category: TransactionTestManager::Transaction Generation%4202F8EE0128
//## Subsystem: MASS::Dev::Tools::TxnTestManager::src%41F5A79001E4
//## Persistence: Transient
//## Cardinality/Multiplicity: n



class EvaluationContext 
{
  //## begin EvaluationContext%42116B3700AD.initialDeclarations preserve=yes
  //## end EvaluationContext%42116B3700AD.initialDeclarations

  public:
    //## Constructors (specified)
      //## Operation: EvaluationContext%42116FD901D9
      //        This constructor accepts values for most context items.
      EvaluationContext (DefinedVariableTable& symbolTable,     // The symbol table with which the expression is to be evaluated.
      SequenceCollection& sequences,    // The sequence generators.
      ProgressBar& progressBar,         // The progress bar that is to be notified of progress.
      IMessageDigest* messageDigest,    // The message digest.
      ICryptographicServerProxy* cryptographicServer,   // The cryptographic server.
      TimeEstimate& timeEstimate        // The time estimate.
      );

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


    //## Other Operations (specified)
      //## Operation: getCryptographicServer%422EAADF0074
      //        Evaluate to the cryptographic server.
      ICryptographicServerProxy& getCryptographicServer ();

      //## Operation: getMessageDigest%4211C6C901B5
      //        Evaluate to the message digest.
      IMessageDigest& getMessageDigest ();

      //## Operation: getProgressBar%42116CAA0204
      //        Evaluate to the progress bar that is to be notified of progress.
      ProgressBar& getProgressBar ();

      //## Operation: getScenarioIndex%4236AD17026A
      //        Evaluate to the number of times that the current scenario has been played
      //        into the transaction stream.
      const unsigned & getScenarioIndex () const;

      //## Operation: getSchemaElement%4212D7B702C1
      //        Evaluate to the schema element with which the expression is to be evaluated.
      XMLSchema::IXmlSchemaWrapperElement & getSchemaElement ();

      //## Operation: getSequenceCollection%421170BF0053
      //        Evaluate to the sequence generators available to this expression.
      SequenceCollection& getSequenceCollection ();

      //## Operation: getSymbolTable%42116CA901D6
      //        Evaluate to the symbol table with which the expression is to be evaluated.
      DefinedVariableTable& getSymbolTable ();

      //## Operation: getTimeEstimate%4211D01E02E6
      //        Evaluate to the time estimate.
      TimeEstimate& getTimeEstimate ();

      //## Operation: getTransaction%42116C8703D9
      //        Evaluate to the transaction within which the expression is to be evaluated.
      TransactionSpecification& getTransaction ();

      //## Operation: haveCryptographicServer%422EAADF00B2
      //        Evaluate to true when there is a cryptographic server, and to false
      //        otherwise.
      const bool haveCryptographicServer () const;

      //## Operation: haveMessageDigest%4211C6ED01C4
      //        Evaluate to true when there is a message digest, and to false otherwise.
      const bool haveMessageDigest () const;

      //## Operation: haveProgressBar%42116E850298
      //        Evaluate to true when there is a progress bar that is to be notified of
      //        progress, and to false otherwise.
      const bool haveProgressBar () const;

      //## Operation: haveSchemaElement%4212D7B702FF
      //        Evaluate to true when there is a schema element with which the expression is
      //        to be evaluated, and to false otherwise.
      const bool haveSchemaElement () const;

      //## Operation: haveSequenceCollection%421170BF0081
      //        Evaluate to true when there is a collection of sequence generators available
      //        to this expression, and to false otherwise.
      const bool haveSequenceCollection () const;

      //## Operation: haveSymbolTable%42116E8502B8
      //        Evaluate to true when there is a symbol table with which the expression is
      //        to be evaluated, and to false otherwise.
      const bool haveSymbolTable () const;

      //## Operation: haveTransaction%42116E8502D7
      //        Evaluate to true when there is a transaction within which the expression is
      //        to be evaluated, and to false otherwise.
      const bool haveTransaction ();

      //## Operation: setProgressBar%42116CAA01E5
      //        Set the progress bar.
      void setProgressBar (ProgressBar& progressBar     // The progress bar that is to be notified of progress.  While we do not
        // accept ownership over this instance, we do assume its validity for the
        // remainder of our lifetime.
      );

      //## Operation: setScenarioIndex%4236AD170299
      //        Set the number of times that the current scenario has been played into the
      //        transaction stream.
      void setScenarioIndex (const unsigned &value      // The new value.
      );

      //## Operation: setSchemaElement%4212D7B7031F
      //        Set the schema element.
      void setSchemaElement (XMLSchema::IXmlSchemaWrapperElement &schemaElement // The schema element which the expression is to be evaluated.  While we do
        // not accept ownership over this instance, we do assume its validity for the
        // remainder of our lifetime.
      );

      //## Operation: setSequenceCollection%421170BF0091
      //        Set the sequence generators available to this expression.
      void setSequenceCollection (SequenceCollection& sequenceCollection        // The sequence generators available to this expression.  While we do not
        // accept ownership over this instance, we do assume its validity for the
        // remainder of our lifetime.
      );

      //## Operation: setSymbolTable%42116CA901B6
      //        Set the symbol table.
      void setSymbolTable (DefinedVariableTable& symbolTable    // The symbol table with which the expression is to be evaluated.  While we do
        // not accept ownership over this instance, we do assume its validity for the
        // remainder of our lifetime.
      );

      //## Operation: setTransaction%42116C60036C
      //        Set the transaction.
      void setTransaction (TransactionSpecification& transaction        // The transaction within which the expression is to be evaluated.  While we
        // do not accept ownership over this instance, we do assume its validity for
        // the remainder of our lifetime.
      );

    // Additional Public Declarations
      //## begin EvaluationContext%42116B3700AD.public preserve=yes
      //## end EvaluationContext%42116B3700AD.public

  protected:
    // Additional Protected Declarations
      //## begin EvaluationContext%42116B3700AD.protected preserve=yes
      //## end EvaluationContext%42116B3700AD.protected

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

      EvaluationContext(const EvaluationContext &right);

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

    // Data Members for Class Attributes

      //## Attribute: scenarioIndex%4236AC61013A
      //        The number of times that the current scenario has been played into the
      //        transaction stream.
      //## begin EvaluationContext::scenarioIndex%4236AC61013A.attr preserve=no  private: unsigned {UA} 0
      unsigned m_scenarioIndex;
      //## end EvaluationContext::scenarioIndex%4236AC61013A.attr

    // Data Members for Associations

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%42116B7F005F
      //## Role: EvaluationContext::transaction%42116B7F0224
      //        The transaction within which the expression is to be evaluated.  While we do
      //        not accept ownership over this instance, we do assume its validity for the
      //        remainder of our lifetime.
      //## begin EvaluationContext::transaction%42116B7F0224.role preserve=no  private: TransactionSpecification {1 -> 1RFHAN}
      TransactionSpecification *m_transaction;
      //## end EvaluationContext::transaction%42116B7F0224.role

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%42116BB5039B
      //## Role: EvaluationContext::symbolTable%42116BB601E5
      //        The collection of defined symbols.  While we do not accept ownership over
      //        this instance, we do assume its validity for the remainder of our lifetime.
      //## begin EvaluationContext::symbolTable%42116BB601E5.role preserve=no  private: DefinedVariableTable {1 -> 1RFHAN}
      DefinedVariableTable *m_symbolTable;
      //## end EvaluationContext::symbolTable%42116BB601E5.role

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%42116C0D038B
      //## Role: EvaluationContext::progressBar%42116C0E036C
      //        The progress bar that we notify of progress.  While we do not accept
      //        ownership over this instance, we do assume its validity for the remainder of
      //        our lifetime.
      //## begin EvaluationContext::progressBar%42116C0E036C.role preserve=no  private: ProgressBar {1 -> 1RFHAN}
      ProgressBar *m_progressBar;
      //## end EvaluationContext::progressBar%42116C0E036C.role

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%4211706801AA
      //## Role: EvaluationContext::sequences%421170680331
      //        The sequence generators available to this expression.  While we do not
      //        accept ownership over this instance, we do assume its validity for the
      //        remainder of our lifetime.
      //## begin EvaluationContext::sequences%421170680331.role preserve=no  private: SequenceCollection {1 -> 1RFHAN}
      SequenceCollection *m_sequences;
      //## end EvaluationContext::sequences%421170680331.role

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%4211CFBE00B9
      //## Role: EvaluationContext::estimate%4211CFBE0359
      //        The time estimate for generation.  While we do not accept ownership over
      //        this instance, we do assume its validity for the remainder of our lifetime.
      //## begin EvaluationContext::estimate%4211CFBE0359.role preserve=no  private: TimeEstimate {1 -> 1RFHAN}
      TimeEstimate *m_estimate;
      //## end EvaluationContext::estimate%4211CFBE0359.role

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%4211D40002CC
      //## Role: EvaluationContext::digest%4211D4010155
      //        The digest.
      //## begin EvaluationContext::digest%4211D4010155.role preserve=no  private: IMessageDigest {1 -> 1RFHAN}
      IMessageDigest *m_digest;
      //## end EvaluationContext::digest%4211D4010155.role

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%4212D78001F6
      //## Role: EvaluationContext::schemaElement%4212D7810188
      //        The schema element.
      //## begin EvaluationContext::schemaElement%4212D7810188.role preserve=no  private: XMLSchema::IXmlSchemaWrapperElement {1 -> 1RFHAN}
      XMLSchema::IXmlSchemaWrapperElement *m_schemaElement;
      //## end EvaluationContext::schemaElement%4212D7810188.role

      //## Association: TransactionTestManager::Transaction Generation::<unnamed>%422EAA4D02AE
      //## Role: EvaluationContext::cryptographicServer%422EAA4E02BB
      //        The cryptographic server.
      //## begin EvaluationContext::cryptographicServer%422EAA4E02BB.role preserve=no  private: ICryptographicServerProxy {1 -> 1RFHAN}
      ICryptographicServerProxy *m_cryptographicServer;
      //## end EvaluationContext::cryptographicServer%422EAA4E02BB.role

    // Additional Private Declarations
      //## begin EvaluationContext%42116B3700AD.private preserve=yes
      //## end EvaluationContext%42116B3700AD.private

  private: //## implementation
    // Additional Implementation Declarations
      //## begin EvaluationContext%42116B3700AD.implementation preserve=yes
      //## end EvaluationContext%42116B3700AD.implementation

};

//## begin EvaluationContext%42116B3700AD.postscript preserve=yes
//## end EvaluationContext%42116B3700AD.postscript

// Class EvaluationContext 

//## begin module%42116B3700AD.epilog preserve=yes
//## end module%42116B3700AD.epilog


#endif