// Copyright (c) 2015, Outercurve Foundation. // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, // are permitted provided that the following conditions are met: // // - Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. // // - Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // // - Neither the name of the Outercurve Foundation nor the names of its // contributors may be used to endorse or promote products derived from this // software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR // ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON // ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. using System; namespace WebsitePanel.Providers.SharePoint { /// /// Exposes functionality for share point server provider hosted in conjunction with organization management provider and /// exchange server. /// public interface IHostedSharePointServerEnt { /// /// When implemented gets root web application uri. /// Uri Enterprise_RootWebApplicationUri { get; } /// /// When implemented gets list of supported languages by this installation of SharePoint. /// /// List of supported languages int[] Enterprise_GetSupportedLanguages(); /// /// When implemented gets list of SharePoint collections within root web application. /// /// List of SharePoint collections within root web application. SharePointEnterpriseSiteCollection[] Enterprise_GetSiteCollections(); /// /// When implemented gets SharePoint collection within root web application with given name. /// /// Url that uniquely identifies site collection to be loaded. /// SharePoint collection within root web application with given name. SharePointEnterpriseSiteCollection Enterprise_GetSiteCollection(string url); /// /// When implemented creates site collection within predefined root web application. /// /// Information about site coolection to be created. void Enterprise_CreateSiteCollection(SharePointEnterpriseSiteCollection siteCollection); /// /// When implemented deletes site collection under given url. /// /// Url that uniquely identifies site collection to be deleted. void Enterprise_DeleteSiteCollection(SharePointEnterpriseSiteCollection siteCollection); /// /// When implemeneted backups site collection under give url. /// /// Url that uniquely identifies site collection to be deleted. /// Resulting backup file name. /// A value which shows whether created backup must be archived. /// Created backup full path. string Enterprise_BackupSiteCollection(string url, string filename, bool zip); /// /// When implemented restores site collection under given url from backup. /// /// Site collection to be restored. /// Backup file name to restore from. void Enterprise_RestoreSiteCollection(SharePointEnterpriseSiteCollection siteCollection, string filename); /// /// When implemented gets binary data chunk of specified size from specified offset. /// /// Path to file to get bunary data chunk from. /// Offset from which to start data reading. /// Binary data chunk length. /// Binary data chunk read from file. byte[] Enterprise_GetTempFileBinaryChunk(string path, int offset, int length); /// /// When implemented appends supplied binary data chunk to file. /// /// Non existent file name to append to. /// Full path to existent file to append to. /// Binary data chunk to append to. /// Path to file that was appended with chunk. string Enterprise_AppendTempFileBinaryChunk(string fileName, string path, byte[] chunk); void Enterprise_UpdateQuotas(string url, long maxStorage, long warningStorage); SharePointSiteDiskSpace[] Enterprise_CalculateSiteCollectionsDiskSpace(string[] urls); long Enterprise_GetSiteCollectionSize(string url); void Enterprise_SetPeoplePickerOu(string site, string ou); } }