/*****************************************************************************
* File: EXP_T_object.h
*
* Object: technique (T)
* Subsystem: experiment
* Domain: EXP
* Repository: exp.ooa
*
* Notice:
* (C) Copyright 1999, 2000 ROX Software, Inc.
* All rights reserved.
*
* Model Compiler: MC3020 V1.3.0
*
* Warnings:
* !!! THIS IS AN AUTO-GENERATED FILE. PLEASE DO NOT EDIT. !!!
****************************************************************************/
#ifndef EXP_T_OBJECT_H
#define EXP_T_OBJECT_H
#ifdef __cplusplus
extern "C" {
#endif
#include "e_mechs.h"
#include "e_events.h"
#include "EXP_objects.h"
#include "sys_user_co.h"
/*****************************************************************************
* Structure: EXP_T_s
* Structural representation of application analysis object:
* 'technique' (T)
****************************************************************************/
struct EXP_T_s
{
/* Application analysis OIM attributes */
Escher_UniqueID_t m_T_ID; /* * T_ID */
unsigned int m_start : 2; /* - start */
unsigned int m_end : 6; /* - end */
unsigned int m_number_of_batches : 4; /* - number_of_batches */
unsigned int m_current_batch : 4; /* - current_batch */
/* State machine current state */
Escher_StateNumber_t mc_current_state;
};
/*****************************************************************************
* Object Factory/Manipulation Methods
****************************************************************************/
extern void EXP_T_FactoryInit( void );
extern EXP_T_s * EXP_T_Create( void );
/* Note: No instance deletion accessor needed */
#define EXP_T_MAX_EXTENT_SIZE 10
extern Escher_ObjectSet_s * pG_EXP_T_extent;
/*****************************************************************************
* Object Relationship Methods
****************************************************************************/
/*****************************************************************************
* Enumeration of state model states for object
*****************************************************************************/
#define EXP_T_STATE_1 1 /* State [1]: 'idle' */
#define EXP_T_STATE_2 2 /* State [2]: 'running' */
/*****************************************************************************
* Enumeration of state model event numbers
*****************************************************************************/
#define EXP_T_EVENT_T1 0 /* 'go' */
#define EXP_T_EVENT_T2 1 /* 'batch_done' */
#define EXP_T_EVENT_T3 2 /* 'stop' */
/*****************************************************************************
* State Action Methods
****************************************************************************/
extern void EXP_T_Action_1( EXP_T_s *, const OoaEvent_t * const );
extern void EXP_T_Action_2( EXP_T_s *, const OoaEvent_t * const );
extern void EXP_T_Dispatch( const OoaEvent_t * const );
#ifdef __cplusplus
}
#endif
#endif /* EXP_T_OBJECT_H */