MailServer/MailServer/Services/IMAP/Server/IMAP_Service.cs

74 lines
3.2 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using LumiSoft.IMAP.Server;
using MailServer.DataBase;
using MailServer.Logger;
namespace MailServer.Services
{
public partial class IMAP_Service : ServiceBase
{
private IMAP_Server server;
private MysqlImap database;
private EventLogger logger;
private bool ssl;
public IMAP_Service(EventLogger log, bool usessl)
{
this.logger = log;
this.ssl = usessl;
InitializeComponent();
database = new MysqlImap();
putEvents();
}
private void putEvents()
{
this.server.AuthUser += new AuthUserEventHandler(server_AuthUser);
this.server.CopyMessage += new MessageEventHandler(server_CopyMessage);
this.server.CreateFolder += new FolderEventHandler(server_CreateFolder);
this.server.DeleteFolder += new FolderEventHandler(server_DeleteFolder);
this.server.DeleteFolderACL += new DeleteFolderACLEventHandler(server_DeleteFolderACL);
this.server.DeleteMessage += new MessageEventHandler(server_DeleteMessage);
this.server.GetFolderACL += new GetFolderACLEventHandler(server_GetFolderACL);
this.server.GetFolders += new FoldersEventHandler(server_GetFolders);
this.server.GetMessageItems += new MessagesItemsEventHandler(server_GetMessageItems);
this.server.GetMessagesInfo += new MessagesEventHandler(server_GetMessagesInfo);
this.server.GetSharedRootFolders += new SharedRootFoldersEventHandler(server_GetSharedRootFolders);
this.server.GetSubscribedFolders += new FoldersEventHandler(server_GetSubscribedFolders);
this.server.GetUserACL += new GetUserACLEventHandler(server_GetUserACL);
this.server.GetUserQuota += new GetUserQuotaHandler(server_GetUserQuota);
this.server.RenameFolder += new FolderEventHandler(server_RenameFolder);
this.server.SessionLog += new LumiSoft.Misc.LogEventHandler(server_SessionLog);
this.server.SetFolderACL += new SetFolderACLEventHandler(server_SetFolderACL);
this.server.StoreMessage += new MessageEventHandler(server_StoreMessage);
this.server.StoreMessageFlags += new MessageEventHandler(server_StoreMessageFlags);
this.server.SubscribeFolder += new FolderEventHandler(server_SubscribeFolder);
this.server.SysError += new LumiSoft.Misc.ErrorEventHandler(server_SysError);
this.server.UnSubscribeFolder += new FolderEventHandler(server_UnSubscribeFolder);
this.server.ValidateIPAddress += new LumiSoft.Misc.ValidateIPHandler(server_ValidateIPAddress);
}
protected override void OnStart(string[] args)
{
this.server.StartServer();
}
protected override void OnStop()
{
this.server.StopServer();
}
public void Start(string[] args)
{
OnStart(args);
}
}
}