/// <summary>
        /// List external repository-managed directories. If the shared parameter is enabled, then files in the system shared directory is included in the response. If the published parameter is enabled, then files in the system published directory is included in the response.
        /// </summary>
        /// <param name="userfiles">Flag indicating if user directories should be included</param>
        /// <param name="sharedUsers">Flag indicating if shared/restricted directories should be included</param>
        /// <param name="published">Flag indicating if public directories should be included</param>
        /// <returns>List of RRepositoryDirectory objects</returns>
        /// <remarks></remarks>
        public List <RRepositoryDirectory> listExternalDirectories(Boolean userfiles, Boolean sharedUsers, Boolean published)
        {
            List <RRepositoryDirectory> returnValue = RUserRepositoryDirectoryImpl.listDirectories(userfiles, false, sharedUsers, published, true, "", "", m_client, Constants.RREPOSITORYDIRECTORYLIST);

            return(returnValue);
        }
        /// <summary>
        ///  List directories in the user's external repository using filters to constrain the files in the response markup.
        /// If categoryFilter is specified only files matching the Category indicated will be included in the response.
        /// If directoryFilter is specified then only files found in the directory indicated will be included in the response.
        /// If both categoryFilter and directoryFilter are specified then only files matching the Category within the directory indicated will be included in the response.
        /// </summary>
        /// <param name="categoryFilter">Value of RRepositoryFile.Category to specify the types of files returned</param>
        /// <param name="directoryFilter">If specified, only files in the user directory indicated are listed</param>
        /// <returns>List of RRepositoryDirectory objects</returns>
        /// <remarks></remarks>
        public List <RRepositoryDirectory> listExternalDirectories(String directoryFilter, RRepositoryFile.Category categoryFilter)
        {
            List <RRepositoryDirectory> returnValue = RUserRepositoryDirectoryImpl.listDirectories(false, false, false, false, true, directoryFilter, categoryFilter.ToString(), m_client, Constants.RREPOSITORYDIRECTORYLIST);

            return(returnValue);
        }
        /// <summary>
        /// List external repository-managed directories
        /// </summary>
        /// <returns>List of RRepositoryDirectory objects</returns>
        /// <remarks></remarks>
        public List <RRepositoryDirectory> listExternalDirectories()
        {
            List <RRepositoryDirectory> returnValue = RUserRepositoryDirectoryImpl.listDirectories(false, false, false, false, true, "", "", m_client, Constants.RREPOSITORYDIRECTORYLIST);

            return(returnValue);
        }
        /// <summary>
        /// List repository-managed directories. If the archived parameter is enabled, then files in the user archive directories are included in the response. If the shared parameter is enabled, then files in the system shared directory is included in the response. If the published parameter is enabled, then files in the system published directory is included in the response.
        /// </summary>
        /// <param name="userfiles">Flag indicating if user directories should be included</param>
        /// <param name="archived">Flag indicating if archived directories should be included</param>
        /// <param name="sharedUsers">Flag indicating if shared/restricted directories should be included</param>
        /// <param name="published">Flag indicating if public directories should be included</param>
        /// <param name="directory">If specified, only files in the user directory indicated are listed</param>
        /// <returns>List of RRepositoryDirectory objects</returns>
        /// <remarks></remarks>
        public List <RRepositoryDirectory> listDirectories(Boolean userfiles, Boolean archived, Boolean sharedUsers, Boolean published, String directory)
        {
            List <RRepositoryDirectory> returnValue = RUserRepositoryDirectoryImpl.listDirectories(userfiles, archived, sharedUsers, published, false, directory, "", m_client, Constants.RREPOSITORYDIRECTORYLIST);

            return(returnValue);
        }
 /// <summary>
 /// Uploads a set of files in a single zip archive into an existing repository-managed user directory. The files are extracted from the zip archive and placed file-by-file into the directory. The options.filename property is ignored on this call and can be left blank.
 /// </summary>
 /// <param name="file">Name of zip file to upload</param>
 /// <param name="options">Repository upload options object</param>
 /// <remarks></remarks>
 public void uploadDirectory(String file, RepoUploadOptions options)
 {
     RUserRepositoryDirectoryImpl.uploadDirectory(file, options, m_client, Constants.RREPOSITORYDIRECTORYUPLOAD);
 }
 /// <summary>
 /// Moves one or more repository-managed files from a source user directory to a destination user directory. If the files parameter is null, all files in the source directory will be moved to the destination directory.
 /// </summary>
 /// <param name="source">Repository source directory for move</param>
 /// <param name="destination">Repository destination directory for move</param>
 /// <param name="files">List of Repository file to move </param>
 /// <remarks></remarks>
 public void moveDirectory(String source, String destination, List <RRepositoryFile> files)
 {
     RUserRepositoryDirectoryImpl.moveDirectory(source, destination, files, m_client, Constants.RREPOSITORYDIRECTORYMOVE);
 }
        /// <summary>
        /// Creates a new repository-managed custom user directory.
        /// </summary>
        /// <param name="directory">Name of new directory to create</param>
        /// <returns>RRepositoryDirectory object</returns>
        /// <remarks></remarks>
        public RRepositoryDirectory createDirectory(String directory)
        {
            RRepositoryDirectory returnValue = RUserRepositoryDirectoryImpl.createDirectory(directory, m_client, Constants.RREPOSITORYDIRECTORYCREATE);

            return(returnValue);
        }