// Copyright (c) 2024 Codemongous LLC. All Rights Reserved.

#pragma once

#include "ISCW_FUserPinInfo.h"
#include "SCW_Base.h"
#include "EdGraph/EdGraphPin.h"

struct FUserPinInfo;

namespace Sourcify
{
	class SCW_FUserPinInfo : public SCW_Base, public ISCW_FUserPinInfo
	{
	public:
		SCW_FUserPinInfo(FUserPinInfo* InUserPinInfo);

		ISCW_FEdGraphPinTypePtr GetPinType() const override;

		wstring GetPinDefaultValue() const override;
		void SetPinDefaultValue(const wstring& InDefaultValue) override;

		FUserPinInfo* ToFUserPinInfo() const;

		ISCW_FUserPinInfoPtr ToFUserPinInfoPtr() override;
		ISCW_FUserPinInfoConstPtr ToFUserPinInfoPtr() const override;

	protected:
		FUserPinInfo* UserPinInfo;
	};
} // namespace Sourcify