Example #1
0
        private object handler(object indata)
        {
            ReturnPacket ret = new ReturnPacket();

            ret.OK = false;
            try
            {
                Packet   request = (Packet)indata;
                COMMANDS c       = (COMMANDS)Enum.Parse(typeof(COMMANDS), request.Command);
                object[] p       = null;
                switch (c)
                {
                case COMMANDS.Download:
                    p        = (object[])request.Data;
                    ret.Data = ServerCommands.Download((string)p[0], (string)p[1], (SyncFile)p[2], (long)p[3], (int)p[4]);
                    ret.OK   = true;
                    break;

                case COMMANDS.GetServerInfo:
                    ret.Data = ServerCommands.GetServerInfo();
                    ret.OK   = true;
                    break;

                case COMMANDS.isConfirmed:
                    p        = (object[])request.Data;
                    ret.Data = ServerCommands.isConfirmed((string)p[0], (string)p[1], (string)p[2]);
                    ret.OK   = true;
                    break;

                case COMMANDS.RegisterMachine:
                    p        = (object[])request.Data;
                    ret.Data = ServerCommands.RegisterMachine((string)p[0], (string)p[1], (string)p[2], StartQue);
                    ret.OK   = true;
                    break;

                case COMMANDS.SyncReadOnly:
                    p        = (object[])request.Data;
                    ret.Data = ServerCommands.SyncReadOnly(_queprocessors, (string)p[0], (string)p[1], (string)p[2], (State)p[3]);
                    ret.OK   = true;
                    break;

                case COMMANDS.SyncReadWrite:
                    p        = (object[])request.Data;
                    ret.Data = ServerCommands.SyncReadWrite(_queprocessors, (string)p[0], (string)p[1], (string)p[2], (State)p[3], (Delta)p[4]);
                    ret.OK   = true;
                    break;

                case COMMANDS.isChanged:
                    p        = (object[])request.Data;
                    ret.Data = isChanged((string)p[0], (string)p[1]);
                    ret.OK   = true;
                    break;

                case COMMANDS.CreateZip:
                    p        = (object[])request.Data;
                    ret.Data = ServerCommands.CreateZip((string)p[0], (string)p[1], (object[])p[2]);
                    ret.OK   = true;
                    break;

                case COMMANDS.DownloadZip:
                    p        = (object[])request.Data;
                    ret.Data = ServerCommands.DownloadZip((string)p[0], (string)p[1], (SyncFile)p[2], (long)p[3], (int)p[4]);
                    ret.OK   = true;
                    break;

                case COMMANDS.DeleteZip:
                    p = (object[])request.Data;
                    ServerCommands.DeleteZip((string)p[0], (string)p[1], (SyncFile)p[2]);
                    ret.OK = true;
                    break;

                case COMMANDS.CanConnect:
                    ret.Data = ServerCommands.CanConnect((string)request.Data);
                    ret.OK   = true;
                    break;
                }
            }
            catch (Exception ex)
            {
                ret.OK    = false;
                ret.Error = ex.ToString();
            }
            return(ret);
        }