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

#ifndef CIP0CONTROLINSPPLAN__CIP0CONTROLPLANREVISIONDELEGATE_HXX
#define CIP0CONTROLINSPPLAN__CIP0CONTROLPLANREVISIONDELEGATE_HXX

#include <common/tc_deprecation_macros.h>
#include <Cip0controlinspplan/Cip0ControlPlanRevision.hxx>

#include <Cip0controlinspplan/libcip0controlinspplan_exports.h>

namespace cip0controlinspplan
{
    class Cip0ControlPlanRevisionDelegate;
}
namespace cip0controlinspplan
{
    class Cip0ControlPlanRevisionImpl;
}
namespace cip0controlinspplan
{
    class Cip0ControlPlanRevision;
}
namespace cip0controlinspplan
{
    class Cip0ControlPlanRevisionGenImpl;
}

namespace cip0controlinspplan_alias = ::cip0controlinspplan;


class  CIP0CONTROLINSPPLAN_API cip0controlinspplan_alias::Cip0ControlPlanRevisionDelegate
{
public:
    //  Method to initialize this Class
    static int initializeClass();

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

    //  Method to create the Cip0ControlPlanRevisionImpl pointer
    static Cip0ControlPlanRevisionImpl*  createImpl( Cip0ControlPlanRevision&  ifObj );

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



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

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


private:
    friend class  ::cip0controlinspplan::Cip0ControlPlanRevisionGenImpl;

};

#include <Cip0controlinspplan/libcip0controlinspplan_undef.h>
#endif  //  CIP0CONTROLINSPPLAN__CIP0CONTROLPLANREVISIONDELEGATE_HXX
