/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ using System.Collections.Generic; using DotCMIS.Data; using DotCMIS.Data.Extensions; using DotCMIS.Enums; namespace DotCMIS.Binding.Services { public interface IRepositoryService { IList GetRepositoryInfos(IExtensionsData extension); IRepositoryInfo GetRepositoryInfo(string repositoryId, IExtensionsData extension); ITypeDefinitionList GetTypeChildren(string repositoryId, string typeId, bool? includePropertyDefinitions, long? maxItems, long? skipCount, IExtensionsData extension); IList GetTypeDescendants(string repositoryId, string typeId, long? depth, bool? includePropertyDefinitions, IExtensionsData extension); ITypeDefinition GetTypeDefinition(string repositoryId, string typeId, IExtensionsData extension); } public interface INavigationService { IObjectInFolderList GetChildren(string repositoryId, string folderId, string filter, string orderBy, bool? includeAllowableActions, IncludeRelationshipsFlag? includeRelationships, string renditionFilter, bool? includePathSegment, long? maxItems, long? skipCount, IExtensionsData extension); IList GetDescendants(string repositoryId, string folderId, long? depth, string filter, bool? includeAllowableActions, IncludeRelationshipsFlag? includeRelationships, string renditionFilter, bool? includePathSegment, IExtensionsData extension); IList GetFolderTree(string repositoryId, string folderId, long? depth, string filter, bool? includeAllowableActions, IncludeRelationshipsFlag? includeRelationships, string renditionFilter, bool? includePathSegment, IExtensionsData extension); IList GetObjectParents(string repositoryId, string objectId, string filter, bool? includeAllowableActions, IncludeRelationshipsFlag? includeRelationships, string renditionFilter, bool? includeRelativePathSegment, IExtensionsData extension); IObjectData GetFolderParent(string repositoryId, string folderId, string filter, ExtensionsData extension); IObjectList GetCheckedOutDocs(string repositoryId, string folderId, string filter, string orderBy, bool? includeAllowableActions, IncludeRelationshipsFlag? includeRelationships, string renditionFilter, long? maxItems, long? skipCount, IExtensionsData extension); } public interface IObjectService { string CreateDocument(string repositoryId, IProperties properties, string folderId, IContentStream contentStream, VersioningState? versioningState, IList policies, IAcl addAces, IAcl removeAces, IExtensionsData extension); string CreateDocumentFromSource(string repositoryId, string sourceId, IProperties properties, string folderId, VersioningState? versioningState, IList policies, IAcl addAces, IAcl removeAces, IExtensionsData extension); string CreateFolder(string repositoryId, IProperties properties, string folderId, IList policies, IAcl addAces, IAcl removeAces, IExtensionsData extension); string CreateRelationship(string repositoryId, IProperties properties, IList policies, IAcl addAces, IAcl removeAces, IExtensionsData extension); string CreatePolicy(string repositoryId, IProperties properties, string folderId, IList policies, IAcl addAces, IAcl removeAces, IExtensionsData extension); IAllowableActions GetAllowableActions(string repositoryId, string objectId, IExtensionsData extension); IProperties GetProperties(string repositoryId, string objectId, string filter, IExtensionsData extension); IList GetRenditions(string repositoryId, string objectId, string renditionFilter, long? maxItems, long? skipCount, IExtensionsData extension); IObjectData GetObject(string repositoryId, string objectId, string filter, bool? includeAllowableActions, IncludeRelationshipsFlag? includeRelationships, string renditionFilter, bool? includePolicyIds, bool? includeAcl, IExtensionsData extension); IObjectData GetObjectByPath(string repositoryId, string path, string filter, bool? includeAllowableActions, IncludeRelationshipsFlag? includeRelationships, string renditionFilter, bool? includePolicyIds, bool? includeAcl, IExtensionsData extension); IContentStream GetContentStream(string repositoryId, string objectId, string streamId, long? offset, long? length, IExtensionsData extension); void UpdateProperties(string repositoryId, ref string objectId, ref string changeToken, IProperties properties, IExtensionsData extension); void MoveObject(string repositoryId, ref string objectId, string targetFolderId, string sourceFolderId, IExtensionsData extension); void DeleteObject(string repositoryId, string objectId, bool? allVersions, IExtensionsData extension); IFailedToDeleteData DeleteTree(string repositoryId, string folderId, bool? allVersions, UnfileObject? unfileObjects, bool? continueOnFailure, ExtensionsData extension); void SetContentStream(string repositoryId, ref string objectId, bool? overwriteFlag, ref string changeToken, IContentStream contentStream, IExtensionsData extension); void DeleteContentStream(string repositoryId, ref string objectId, ref string changeToken, IExtensionsData extension); } public interface IVersioningService { void CheckOut(string repositoryId, ref string objectId, IExtensionsData extension, out bool? contentCopied); void CancelCheckOut(string repositoryId, string objectId, IExtensionsData extension); void CheckIn(string repositoryId, ref string objectId, bool? major, IProperties properties, IContentStream contentStream, string checkinComment, IList policies, IAcl addAces, IAcl removeAces, IExtensionsData extension); IObjectData GetObjectOfLatestVersion(string repositoryId, string objectId, string versionSeriesId, bool major, string filter, bool? includeAllowableActions, IncludeRelationshipsFlag? includeRelationships, string renditionFilter, bool? includePolicyIds, bool? includeAcl, IExtensionsData extension); IProperties GetPropertiesOfLatestVersion(string repositoryId, string objectId, string versionSeriesId, bool major, string filter, IExtensionsData extension); IList GetAllVersions(string repositoryId, string objectId, string versionSeriesId, string filter, bool? includeAllowableActions, IExtensionsData extension); } public interface IRelationshipService { IObjectList GetObjectRelationships(string repositoryId, string objectId, bool? includeSubRelationshipTypes, RelationshipDirection? relationshipDirection, string typeId, string filter, bool? includeAllowableActions, long? maxItems, long? skipCount, IExtensionsData extension); } public interface IDiscoveryService { IObjectList Query(string repositoryId, string statement, bool? searchAllVersions, bool? includeAllowableActions, IncludeRelationshipsFlag? includeRelationships, string renditionFilter, long? maxItems, long? skipCount, IExtensionsData extension); IObjectList GetContentChanges(string repositoryId, ref string changeLogToken, bool? includeProperties, string filter, bool? includePolicyIds, bool? includeAcl, long? maxItems, IExtensionsData extension); } public interface IMultiFilingService { void AddObjectToFolder(string repositoryId, string objectId, string folderId, bool? allVersions, IExtensionsData extension); void RemoveObjectFromFolder(string repositoryId, string objectId, string folderId, IExtensionsData extension); } public interface IAclService { IAcl GetAcl(string repositoryId, string objectId, bool? onlyBasicPermissions, IExtensionsData extension); IAcl ApplyAcl(string repositoryId, string objectId, IAcl addAces, IAcl removeAces, AclPropagation? aclPropagation, IExtensionsData extension); } public interface IPolicyService { void ApplyPolicy(string repositoryId, string policyId, string objectId, IExtensionsData extension); void RemovePolicy(string repositoryId, string policyId, string objectId, IExtensionsData extension); IList GetAppliedPolicies(string repositoryId, string objectId, string filter, IExtensionsData extension); } }