//Copyright 2020 Siemens Digital Industries Software
//==================================================
//Copyright $2020.
//Siemens Product Lifecycle Management Software Inc.
//All Rights Reserved.
//e
//==================================================
//Copyright 2020 Siemens Digital Industries Software

/*==================================================================================================
File description:
    This file contains the declaration for the Business Object, Ap0ArchCarVarsListDispatch
    Filename:   Ap0ArchCarVarsListDispatch.hxx
    Module:     ap0advanceplannerdispatch
    @BMIDE autogenerated
==================================================================================================*/

#ifndef AP0ADVANCEPLANNER__AP0ARCHCARVARSLISTDISPATCH_HXX
#define AP0ADVANCEPLANNER__AP0ARCHCARVARSLISTDISPATCH_HXX

#include <vector>
#include <Ap0advanceplanner/Ap0ArchCarVarsList.hxx>
#include <Ap0advanceplanner/Ap0ArchCarVarsListDelegate.hxx>
#include <foundationdispatch/Fnd0ListOfValuesDynamicDispatch.hxx>
#include <ap0advanceplannerdispatch/initializeap0advanceplanner.hxx>

#include <ap0advanceplannerdispatch/libap0advanceplannerdispatch_exports.h>

namespace ap0advanceplanner
{
    class Ap0ArchCarVarsListDispatch;
}
namespace ap0advanceplanner
{
    class Ap0ArchCarVarsListDelegate;
}
namespace Teamcenter
{
    class BusinessObjectImpl;
}

class  AP0ADVANCEPLANNERDISPATCH_API  ap0advanceplanner::Ap0ArchCarVarsListDispatch
    : public  ap0advanceplanner::Ap0ArchCarVarsListDelegate
{
public:
    //  Method to initialize this Class
    static int initializeClass();

    //  Method to get the Ap0ArchCarVarsListDispatch instance
    static Ap0ArchCarVarsListDispatch&  getInstance();


private:
    //  Pointer to the dispatch instance
    static Ap0ArchCarVarsListDispatch*  m_dispatch;

    //  Default Constructor
    Ap0ArchCarVarsListDispatch();

    //  Default Destructor
    virtual ~Ap0ArchCarVarsListDispatch();

    //  Constructor Method
    static ::Teamcenter::RootObject*  constructor();

    //  Copy Constructor for a Ap0ArchCarVarsListDispatch
    Ap0ArchCarVarsListDispatch( const Ap0ArchCarVarsListDispatch& );

    //  Assignment operator
    Ap0ArchCarVarsListDispatch&  operator = ( const Ap0ArchCarVarsListDispatch& );

    //  friend
    friend void   ::ap0advanceplanner::initializeap0advanceplannerInternal();
    friend void   ::ap0advanceplanner::initializeap0advanceplannerExtenders();
    friend class  ap0advanceplanner::Ap0ArchCarVarsListDelegate;
};

#include <ap0advanceplannerdispatch/libap0advanceplannerdispatch_undef.h>
#endif  //  AP0ADVANCEPLANNER__AP0ARCHCARVARSLISTDISPATCH_HXX
