#ifndef  SDAIHEADER_SECTION_SCHEMA_ALL_CC
#define  SDAIHEADER_SECTION_SCHEMA_ALL_CC
// This file was generated by fedex_plus.  You probably don't want to edit
// it since your modifications will be lost if fedex_plus is used to
// regenerate it.

#include <SdaiHeaderSchema.h>
#include "sc_memmgr.h"

void HeaderInitSchemasAndEnts( Registry & reg ) {
    Uniqueness_rule_ptr ur;
    // Schema:  SdaiHEADER_SECTION_SCHEMA
    s_header_section_schema = new Schema( "Header_Section_Schema" );
    s_header_section_schema->AssignModelContentsCreator(
        ( ModelContentsCreator ) create_SdaiModel_contents_header_section_schema );
    reg.AddSchema( *s_header_section_schema );

    //        *****  Initialize the Types
    header_section_schemat_time_stamp_text = new TypeDescriptor(
        "Time_Stamp_Text",        // Name
        sdaiSTRING,        // FundamentalType
        s_header_section_schema,        // Originating Schema
        "STRING (256)" );       // Description
    s_header_section_schema->AddType( header_section_schemat_time_stamp_text );
    header_section_schemat_section_name = new TypeDescriptor(
        "Section_Name",        // Name
        REFERENCE_TYPE,        // FundamentalType
        s_header_section_schema,        // Originating Schema
        "exchange_structure_identifier" );       // Description
    s_header_section_schema->AddType( header_section_schemat_section_name );
    header_section_schemat_context_name = new TypeDescriptor(
        "Context_Name",        // Name
        sdaiSTRING,        // FundamentalType
        s_header_section_schema,        // Originating Schema
        "STRING" );       // Description
    s_header_section_schema->AddType( header_section_schemat_context_name );
    header_section_schemat_schema_name = new TypeDescriptor(
        "Schema_Name",        // Name
        sdaiSTRING,        // FundamentalType
        s_header_section_schema,        // Originating Schema
        "STRING (1024)" );       // Description
    s_header_section_schema->AddType( header_section_schemat_schema_name );
    header_section_schemat_language_name = new TypeDescriptor(
        "Language_Name",        // Name
        REFERENCE_TYPE,        // FundamentalType
        s_header_section_schema,        // Originating Schema
        "exchange_structure_identifier" );       // Description
    s_header_section_schema->AddType( header_section_schemat_language_name );
    header_section_schemat_exchange_structure_identifier = new TypeDescriptor(
        "Exchange_Structure_Identifier",        // Name
        sdaiSTRING,        // FundamentalType
        s_header_section_schema,        // Originating Schema
        "STRING" );       // Description
    s_header_section_schema->AddType( header_section_schemat_exchange_structure_identifier );

    //        *****  Initialize the Entities
    header_section_schemae_section_language = new EntityDescriptor(
        "Section_Language", s_header_section_schema, LFalse, LFalse,
        ( Creator ) create_SdaiSection_language );
    s_header_section_schema->AddEntity( header_section_schemae_section_language );
    header_section_schemae_section_language->_uniqueness_rules = new Uniqueness_rule__set;
    ur = new Uniqueness_rule( "UR1 : section;\n" );
    header_section_schemae_section_language->_uniqueness_rules->Append( ur );
    header_section_schemae_file_population = new EntityDescriptor(
        "File_Population", s_header_section_schema, LFalse, LFalse,
        ( Creator ) create_SdaiFile_population );
    s_header_section_schema->AddEntity( header_section_schemae_file_population );
    header_section_schemae_file_name = new EntityDescriptor(
        "File_Name", s_header_section_schema, LFalse, LFalse,
        ( Creator ) create_SdaiFile_name );
    s_header_section_schema->AddEntity( header_section_schemae_file_name );
    header_section_schemae_section_context = new EntityDescriptor(
        "Section_Context", s_header_section_schema, LFalse, LFalse,
        ( Creator ) create_SdaiSection_context );
    s_header_section_schema->AddEntity( header_section_schemae_section_context );
    header_section_schemae_section_context->_uniqueness_rules = new Uniqueness_rule__set;
    ur = new Uniqueness_rule( "UR1 : section;\n" );
    header_section_schemae_section_context->_uniqueness_rules->Append( ur );
    header_section_schemae_file_description = new EntityDescriptor(
        "File_Description", s_header_section_schema, LFalse, LFalse,
        ( Creator ) create_SdaiFile_description );
    s_header_section_schema->AddEntity( header_section_schemae_file_description );
    header_section_schemae_file_schema = new EntityDescriptor(
        "File_Schema", s_header_section_schema, LFalse, LFalse,
        ( Creator ) create_SdaiFile_schema );
    s_header_section_schema->AddEntity( header_section_schemae_file_schema );

    //////////////// USE statements
    //////////////// REFERENCE statements
}

#endif
