Exemplo n.º 1
0
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="CreateSharedLinkArg" />
        /// class.</para>
        /// </summary>
        /// <param name="path">The path to share.</param>
        /// <param name="shortUrl">Whether to return a shortened URL.</param>
        /// <param name="pendingUpload">If it's okay to share a path that does not yet exist,
        /// set this to either <see cref="PendingUploadMode.File" /> or <see
        /// cref="PendingUploadMode.Folder" /> to indicate whether to assume it's a file or
        /// folder.</param>
        public CreateSharedLinkArg(string path,
                                   bool shortUrl = false,
                                   PendingUploadMode pendingUpload = null)
        {
            if (path == null)
            {
                throw new sys.ArgumentNullException("path");
            }

            this.Path          = path;
            this.ShortUrl      = shortUrl;
            this.PendingUpload = pendingUpload;
        }
        CreateSharedLinkArg enc.IEncodable <CreateSharedLinkArg> .Decode(enc.IDecoder decoder)
        {
            using (var obj = decoder.GetObject())
            {
                this.Path = obj.GetField <string>("path");
                if (obj.HasField("short_url"))
                {
                    this.ShortUrl = obj.GetField <bool>("short_url");
                }
                if (obj.HasField("pending_upload"))
                {
                    this.PendingUpload = obj.GetFieldObject <PendingUploadMode>("pending_upload");
                }
            }

            return(this);
        }