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

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

#ifndef DIA0DIAGRAMMING__DIA0SHEETDISPATCH_HXX
#define DIA0DIAGRAMMING__DIA0SHEETDISPATCH_HXX

#include <vector>
#include <Dia0diagramming/Dia0Sheet.hxx>
#include <Dia0diagramming/Dia0SheetDelegate.hxx>
#include <realizationdispatch/Rlz0CompositionDispatch.hxx>
#include <dia0diagrammingdispatch/initializedia0diagramming.hxx>

#include <dia0diagrammingdispatch/libdia0diagrammingdispatch_exports.h>

namespace dia0diagramming
{
    class Dia0SheetDispatch;
}
namespace dia0diagramming
{
    class Dia0SheetDelegate;
}
namespace Teamcenter
{
    class BusinessObjectImpl;
}

class  DIA0DIAGRAMMINGDISPATCH_API  dia0diagramming::Dia0SheetDispatch
    : public  dia0diagramming::Dia0SheetDelegate
{
public:
    //  Method to initialize this Class
    static int initializeClass();

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


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

    //  Default Constructor
    Dia0SheetDispatch();

    //  Default Destructor
    virtual ~Dia0SheetDispatch();

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

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

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

    //  friend
    friend void   ::dia0diagramming::initializedia0diagrammingInternal();
    friend void   ::dia0diagramming::initializedia0diagrammingExtenders();
    friend class  dia0diagramming::Dia0SheetDelegate;
};

#include <dia0diagrammingdispatch/libdia0diagrammingdispatch_undef.h>
#endif  //  DIA0DIAGRAMMING__DIA0SHEETDISPATCH_HXX
