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

#ifndef VAL1CFGVALIDATION__VAL1CONDVALRESULTDELEGATE_HXX
#define VAL1CFGVALIDATION__VAL1CONDVALRESULTDELEGATE_HXX

#include <common/tc_deprecation_macros.h>
#include <Val1cfgvalidation/Val1CondValResult.hxx>

#include <Val1cfgvalidation/libval1cfgvalidation_exports.h>

namespace val1cfgvalidation
{
    class Val1CondValResultDelegate;
}
namespace val1cfgvalidation
{
    class Val1CondValResultImpl;
}
namespace val1cfgvalidation
{
    class Val1CondValResult;
}
namespace val1cfgvalidation
{
    class Val1CondValResultGenImpl;
}

namespace val1cfgvalidation_alias = ::val1cfgvalidation;


class  VAL1CFGVALIDATION_API val1cfgvalidation_alias::Val1CondValResultDelegate
{
public:
    //  Method to initialize this Class
    static int initializeClass();

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

    //  Method to create the Val1CondValResultImpl pointer
    static Val1CondValResultImpl*  createImpl( Val1CondValResult&  ifObj );

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



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

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


private:
    friend class  ::val1cfgvalidation::Val1CondValResultGenImpl;

};

#include <Val1cfgvalidation/libval1cfgvalidation_undef.h>
#endif  //  VAL1CFGVALIDATION__VAL1CONDVALRESULTDELEGATE_HXX
