using EVCB_OCPP.Packet20.Features.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EVCB_OCPP.Packet20.Features
{
    public class CoreProfile : Profile
    {
        public CoreProfile()
        {
            Name = "Core";
            //加入支援的Features
            features.Add(new BootNotificationFeature());
          //  features.Add(new GetConfigurationFeature());
            features.Add(new HeartbeatFeature());
            //features.Add(new StartTransactionFeature());
            //features.Add(new ChangeConfigurationFeature());
            features.Add(new StatusNotificationFeature());
            //features.Add(new StopTransactionFeature());
            //features.Add(new MeterValuesFeature());
            //features.Add(new RemoteStartTransactionFeature());
            //features.Add(new RemoteStopTransactionFeature());
            //features.Add(new ChangeAvailabilityFeature());
            //features.Add(new AuthorizeFeature());
            //features.Add(new ResetFeature());
            //features.Add(new UnlockConnectorFeature());
            //features.Add(new ClearCacheFeature());
            //features.Add(new DataTransferFeature());

            actions.Add(Actions.BootNotification.ToString());
            actions.Add(Actions.GetConfiguration.ToString());
            actions.Add(Actions.Heartbeat.ToString());
            actions.Add(Actions.StartTransaction.ToString());
            actions.Add(Actions.ChangeConfiguration.ToString());
            actions.Add(Actions.StatusNotification.ToString());
            actions.Add(Actions.Authorize.ToString());
            actions.Add(Actions.StopTransaction.ToString());
            actions.Add(Actions.MeterValues.ToString());
            actions.Add(Actions.RemoteStartTransaction.ToString());
            actions.Add(Actions.RemoteStopTransaction.ToString());
            actions.Add(Actions.ChangeAvailability.ToString());
            actions.Add(Actions.ClearCache.ToString());
            actions.Add(Actions.DataTransfer.ToString());
            actions.Add(Actions.Reset.ToString());
            actions.Add(Actions.UnlockConnector.ToString());

        }

     


    }
}
