11        typedef std::function<
const CResult(Base::CFLBase*)> CSNAPCustomProcedure;
 
   12        typedef std::function<
const CResult(CSNAPParameter*, Base::CFLBase*)> CSNAPCustomParameter;
 
   14        #define MakeSNAPCustomProcedure [=](Base::CFLBase* pObject) -> const CResult 
   15        #define MakeSNAPCustomParameter [=](CSNAPParameter* pParameter, Base::CFLBase* pObject) -> const CResult 
   17        class FL_EXPORT CSNAPCustomProcessingManager : 
public Base::CFLBase
 
   20            CSNAPCustomProcessingManager();
 
   23            typedef struct sCustomProcessingParameterInfo
 
   25                sCustomProcessingParameterInfo(
const Base::CFLString<wchar_t>& strNodeName, 
const Base::CFLString<wchar_t>& strParameterName, 
const Base::CFLString<wchar_t>& strParameterType, CSNAPCustomParameter scparamParameter, 
const Base::CFLBase* pObject);
 
   27                Base::CFLString<wchar_t> strNodeName;
 
   28                Base::CFLString<wchar_t> strParameterName;
 
   29                Base::CFLString<wchar_t> strParameterType;
 
   30                CSNAPCustomParameter scparamParameter;
 
   32                const Base::CFLBase* pObject;
 
   34            SCustomProcessingParameterInfo;
 
   36            typedef struct sCustomProcessingProcedureInfo
 
   38                sCustomProcessingProcedureInfo(
const Base::CFLString<wchar_t>& strNodeName, CSNAPCustomProcedure scprocProcedure, 
const Base::CFLBase* pObject);
 
   40                Base::CFLString<wchar_t> strNodeName;
 
   41                CSNAPCustomProcedure scprocProcedure;
 
   43                const Base::CFLBase* pObject;
 
   45            SCustomProcessingProcedureInfo;
 
   48            virtual ~CSNAPCustomProcessingManager();
 
   50            static const CResult AddInputParameter(
const Base::CFLString<wchar_t>& strNodeName, 
const Base::CFLString<wchar_t>& strParameterName, 
const Base::CFLString<wchar_t>& strParameterType, CSNAPCustomParameter scparamParameter, 
const Base::CFLBase* pObject);
 
   51            static const CResult AddOutputParameter(
const Base::CFLString<wchar_t>& strNodeName, 
const Base::CFLString<wchar_t>& strParameterName, 
const Base::CFLString<wchar_t>& strParameterType, CSNAPCustomParameter scparamParameter, 
const Base::CFLBase* pObject);
 
   52            static const CResult AddProcedure(
const Base::CFLString<wchar_t>& strNodeName, CSNAPCustomProcedure scprocProcedure, 
const Base::CFLBase* pObject);
 
   55            static const CResult GetInputParameters(
const Base::CFLString<wchar_t>& strNodeName, std::vector<SCustomProcessingParameterInfo>& vctResult);
 
   56            static const CResult GetOutputParameters(
const Base::CFLString<wchar_t>& strNodeName, std::vector<SCustomProcessingParameterInfo>& vctResult);
 
   57            static const CResult GetProcedures(
const Base::CFLString<wchar_t>& strNodeName, std::vector<SCustomProcessingProcedureInfo>& vctResult);
 
   58            static const CResult GetProcedures(
const Base::CFLString<wchar_t>& strNodeName, 
const Base::CFLBase* pObject, std::vector<SCustomProcessingProcedureInfo>& vctResult);
 
   60            static const CResult RemoveCustomProcess(
const Base::CFLBase* pObject);
 
   63            DeclareGetClassType();
 
   66            static const CResult Update();
 
   69            static CSNAPCustomProcessingManager* GetInstance();
 
   71            std::multimap<uint64_t, SCustomProcessingParameterInfo>& m_mmapCustomInputParameters;
 
   72            std::multimap<uint64_t, SCustomProcessingParameterInfo>& m_mmapCustomOutputParameters;
 
   73            std::multimap<uint64_t, SCustomProcessingProcedureInfo>& m_mmapCustomProcedures;
 
Definition D2DObject.h:12