using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IACommService4CSharp
{
    public enum ConnectionState
    {
        CONN_STATE_NOTCONNECTED = 0, /* PLC is not connected (init state) */
        CONN_STATE_CONNECTED,        /* PLC is connected */
        CONN_STATE_DISCONNECTED      /* Connection is just getting terminated */
    }

    public abstract class IConnectionCallback_t : IConnectionCallback4CSharp
    {
        public IConnectionCallback_t()
        {
        }
        ~IConnectionCallback_t()
        {
        }
        //Internal use
        public override void StateChange(uint state)
        {
            StateChange((ConnectionState)state);
        }
        public abstract void StateChange(ConnectionState state);
    }
}
