/*****************************************************************************
 * File: A_dom_init.c
 *
 * Initialization services for the following domain:
 * Domain:     A
 * Repository: as2.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. !!!
 ****************************************************************************/


#include "A_objects.h"
#include "A_dom_init.h"

#include "A_CAR_object.h"
#include "A_ROW_object.h"
#include "A_SP_object.h"
#include "A_PAA_object.h"
#include "A_PAA_ASG.h"



/*****************************************************************************
 * Array of pointers to the object event dispather method.
 * Index is the (MC enumerated) number of the state model.
 ****************************************************************************/
static const EventTaker_t
A_EventDispatcher[ A_STATE_MODELS + 1 ] =
{
  (EventTaker_t) 0, /* Unused - instrumentation hook */
  (EventTaker_t) A_CAR_Dispatch,
  (EventTaker_t) A_ROW_Dispatch,
  (EventTaker_t) A_SP_Dispatch,
  (EventTaker_t) A_PAA_ASG_Dispatch
};


/*****************************************************************************
 ****************************************************************************/
void 
A_DomainDispatcher( OoaEvent_t * event )
{
  ( *A_EventDispatcher[ GetEventDestObjectNumber( event ) ] )( event );
}

/*****************************************************************************
 * System initialization method for domain: A
 ****************************************************************************/
void
IntializeDomain_A()
{
  /* Open object factories */
  A_CAR_FactoryInit();
  A_ROW_FactoryInit();
  A_SP_FactoryInit();
  A_PAA_FactoryInit();
  /* Open object assigner singletons */
  A_PAA_AssignerInit();
}

/*****************************************************************************
 * System shutdown method for domain: A
 ****************************************************************************/
void
ShutdownDomain_A()
{
  /* Close object factories */
  /* Close object assigner singletons */
}