You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AppFlow/FITK_Kernel/FITKAdaptor/FITKAbstractAdaptor.h

100 lines
2.5 KiB
C

/**
*
* @file FITKAbstractAdaptor.h
* @brief
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-03
*
*/
#ifndef __FITKABSTRACTADAPTOR_H__
#define __FITKABSTRACTADAPTOR_H__
#include "FITK_Kernel/FITKCore/FITKAbstractObject.hpp"
#include "FITK_Kernel/FITKCore/FITKCoreMacros.h"
#include "FITKAdaptorAPI.h"
#include <QString>
namespace Core
{
class FITKAbstractDataObject;
}
namespace Adaptor
{
/**
* @brief
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-03
*/
enum FITKAdaptorType
{
AdaTNone,
AdaTIO,
AdaTView,
};
/**
* @brief
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-03
*/
class FITKAdaptorAPI FITKAbstractAdaptor : public Core::FITKAbstractObject
{
FITKCLASS(Adaptor,FITKAbstractAdaptor);
public:
/**
* @brief Construct a new FITKAbstractAdaptor object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-03
*/
explicit FITKAbstractAdaptor() = default;
/**
* @brief Destroy the FITKAbstractAdaptor object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-03
*/
virtual ~FITKAbstractAdaptor() = 0;
/**
* @brief
* @return QString
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-03
*/
virtual QString getAdaptorClass() = 0;
/**
* @brief
* @return FITKAdaptorType
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-03
*/
virtual FITKAdaptorType getAdaptorType() = 0;
/**
* @brief
* @param[i] data
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-03
*/
virtual void setDataObject(Core::FITKAbstractDataObject* data);
/**
* @brief
* @return bool
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-03
*/
virtual bool adapt();
protected:
/**
* @brief
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-04-13
*/
Core::FITKAbstractDataObject* _dataObj{};
};
}
#endif