//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, Eda0EDMDCollaborationDelegate
    Filename:   Eda0EDMDCollaborationDelegate.hxx
    Module:     eda
    @BMIDE autogenerated
==================================================================================================*/

#ifndef TEAMCENTER__EDA0EDMDCOLLABORATIONDELEGATE_HXX
#define TEAMCENTER__EDA0EDMDCOLLABORATIONDELEGATE_HXX

#include <common/tc_deprecation_macros.h>
#include <eda/Eda0EDMDCollaboration.hxx>

#include <eda/libeda_exports.h>

namespace Teamcenter
{
    class Eda0EDMDCollaborationDelegate;
}
namespace Teamcenter
{
    class Eda0EDMDCollaborationImpl;
}
namespace Teamcenter
{
    class Eda0EDMDCollaboration;
}
namespace Teamcenter
{
    class Eda0EDMDCollaborationGenImpl;
}

namespace Teamcenter_alias = ::Teamcenter;


class  EDA_API Teamcenter_alias::Eda0EDMDCollaborationDelegate
{
public:
    //  Method to initialize this Class
    static int initializeClass();

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

    //  Method to create the Eda0EDMDCollaborationImpl pointer
    static Eda0EDMDCollaborationImpl*  createImpl( Eda0EDMDCollaboration&  ifObj );

    //  Method to delete the Eda0EDMDCollaborationImpl pointer
    static void deleteImpl( Eda0EDMDCollaborationImpl*  impl );



protected:
    //  Pointer to the instance
    static Eda0EDMDCollaborationDelegate*  m_pInstance;

    Eda0EDMDCollaborationDelegate();
    virtual ~Eda0EDMDCollaborationDelegate();
    static void setInstance( Eda0EDMDCollaborationDelegate*  instance );


private:
    friend class  ::Teamcenter::Eda0EDMDCollaborationGenImpl;

};

#include <eda/libeda_undef.h>
#endif  //  TEAMCENTER__EDA0EDMDCOLLABORATIONDELEGATE_HXX
