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

#ifndef TEAMCENTER__TCX_SCCONFIGDELEGATE_HXX
#define TEAMCENTER__TCX_SCCONFIGDELEGATE_HXX

#include <common/tc_deprecation_macros.h>
#include <smartuibldr/TCX_SCConfig.hxx>

#include <smartuibldr/libsmartuibldr_exports.h>

namespace Teamcenter
{
    class TCX_SCConfigDelegate;
}
namespace Teamcenter
{
    class TCX_SCConfigImpl;
}
namespace Teamcenter
{
    class TCX_SCConfig;
}
namespace Teamcenter
{
    class TCX_SCConfigGenImpl;
}

namespace Teamcenter_alias = ::Teamcenter;


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

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

    //  Method to create the TCX_SCConfigImpl pointer
    static TCX_SCConfigImpl*  createImpl( TCX_SCConfig&  ifObj );

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



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

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


private:
    friend class  ::Teamcenter::TCX_SCConfigGenImpl;

};

#include <smartuibldr/libsmartuibldr_undef.h>
#endif  //  TEAMCENTER__TCX_SCCONFIGDELEGATE_HXX
