示例#1
0
        static void ParseFlags(string flagStr, out RPCActionFlags flags, out int timeout)
        {
            flags = 0;
            timeout = DEFAULT_TIMEOUT;

            foreach (var fl in flagStr.Split(',')) {
                int u;
                switch (fl) {
                case "read":
                    flags |= RPCActionFlags.Read;
                    break;
                case "update":
                    flags |= RPCActionFlags.Update;
                    break;
                case "destroy":
                    flags |= RPCActionFlags.Destroy;
                    break;
                case "public":
                    flags |= RPCActionFlags.Public;
                    break;
                case "create":
                    flags |= RPCActionFlags.Create;
                    break;
                case "noauth":
                    flags |= RPCActionFlags.NoAuth;
                    break;
                default:
                    if (fl.StartsWith ("t") && int.TryParse (fl.Substring (1), out u) && u > 0) {
                        timeout = u;
                    }
                    break;
                }
            }
        }
示例#2
0
文件: ActionInfo.cs 项目: xrl/scamp
        static void ParseFlags(string flagStr, out RPCActionFlags flags, out int timeout)
        {
            flags   = 0;
            timeout = DEFAULT_TIMEOUT;

            foreach (var fl in flagStr.Split(','))
            {
                int u;
                switch (fl)
                {
                case "read":
                    flags |= RPCActionFlags.Read;
                    break;

                case "update":
                    flags |= RPCActionFlags.Update;
                    break;

                case "destroy":
                    flags |= RPCActionFlags.Destroy;
                    break;

                case "public":
                    flags |= RPCActionFlags.Public;
                    break;

                case "create":
                    flags |= RPCActionFlags.Create;
                    break;

                case "noauth":
                    flags |= RPCActionFlags.NoAuth;
                    break;

                default:
                    if (fl.StartsWith("t") && int.TryParse(fl.Substring(1), out u) && u > 0)
                    {
                        timeout = u;
                    }
                    break;
                }
            }
        }
示例#3
0
        static string UnparseFlags(RPCActionFlags flags, int timeout)
        {
            StringBuilder sb = new StringBuilder ();
            if ((flags & RPCActionFlags.Create) != 0)
                sb.Append ("create,");
            if ((flags & RPCActionFlags.Read) != 0)
                sb.Append ("read,");
            if ((flags & RPCActionFlags.Update) != 0)
                sb.Append ("update,");
            if ((flags & RPCActionFlags.Destroy) != 0)
                sb.Append ("destroy,");
            if ((flags & RPCActionFlags.NoAuth) != 0)
                sb.Append ("noauth,");
            if ((flags & RPCActionFlags.Public) != 0)
                sb.Append ("public,");
            if (timeout != DEFAULT_TIMEOUT) {
                sb.Append ('t');
                sb.Append (timeout);
                sb.Append (',');
            }

            return sb.Length == 0 ? "" : sb.ToString (0, sb.Length - 1);
        }
示例#4
0
文件: ActionInfo.cs 项目: xrl/scamp
        static string UnparseFlags(RPCActionFlags flags, int timeout)
        {
            StringBuilder sb = new StringBuilder();

            if ((flags & RPCActionFlags.Create) != 0)
            {
                sb.Append("create,");
            }
            if ((flags & RPCActionFlags.Read) != 0)
            {
                sb.Append("read,");
            }
            if ((flags & RPCActionFlags.Update) != 0)
            {
                sb.Append("update,");
            }
            if ((flags & RPCActionFlags.Destroy) != 0)
            {
                sb.Append("destroy,");
            }
            if ((flags & RPCActionFlags.NoAuth) != 0)
            {
                sb.Append("noauth,");
            }
            if ((flags & RPCActionFlags.Public) != 0)
            {
                sb.Append("public,");
            }
            if (timeout != DEFAULT_TIMEOUT)
            {
                sb.Append('t');
                sb.Append(timeout);
                sb.Append(',');
            }

            return(sb.Length == 0 ? "" : sb.ToString(0, sb.Length - 1));
        }
示例#5
0
文件: ActionInfo.cs 项目: xrl/scamp
 public ActionInfo(ActionName name, RPCActionFlags flags, int timeout, object handler)
     : this(name, UnparseFlags(flags, timeout), handler)
 {
 }
示例#6
0
 public ActionInfo(ActionName name, RPCActionFlags flags, int timeout, object handler)
     : this(name, UnparseFlags (flags, timeout), handler)
 {
 }