//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.261
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Pluto.Api {
    using System;
    using RemObjects.SDK;
    using RemObjects.SDK.Types;
    using RemObjects.SDK.Server;
    using RemObjects.SDK.Server.ClassFactories;
    using System.Configuration;

    [RemObjects.SDK.Server.ClassFactories.StandardClassFactory()]
    [RemObjects.SDK.Server.Service(Name = "Authentication", InvokerClass = typeof(Authentication_Invoker), ActivatorClass = typeof(Authentication_Activator))]
    public class Authentication : RemObjects.SDK.Server.Service, IAuthentication {

        private System.ComponentModel.Container components = null;
        public Authentication() :
            base() {
            this.InitializeComponent();
        }
        
        private void InitializeComponent() {
        }

        protected override void Dispose(bool aDisposing) {
            if(aDisposing) {
                if((this.components != null)) {
                    this.components.Dispose();
                }
            }
            base.Dispose(aDisposing);
        }
        
        public virtual UserInfo1 Login1(string apiKey, PracticeInfo1 practiceInfo, string userId, string password) {
            return null;
        }

        public virtual bool CreatePin1(string apiKey, PracticeInfo1 practiceInfo, string userId, string fourdigitpin)
        {
            return true;
        }

        public virtual UserInfo1 ValidatePin1(string apiKey, PracticeInfo1 practiceInfo, string userId, string pin)
        {
            return null;
        }

        public virtual bool PinIsSet1(string apiKey, PracticeInfo1 practiceInfo, string userId)
        {
            return true;
        }

        public virtual string GetAPIVersion()
        {
            return "";
        }

        public virtual bool IsAPIOutOfDate()
        {
            return false;
        }

        #region IAuthentication Members


        public PracticeInfo1[] GetPracticeList1(string apiKey) {
            return null;
        }

        #endregion
    }
}
