#region Disclaimer / License
// Copyright (C) 2010, Jackie Ng
// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie@gmail.com
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
//
#endregion
using System;
using System.Collections.Generic;
using System.Text;
using OSGeo.MapGuide.ObjectModels.Common;
namespace OSGeo.MapGuide.MaestroAPI.Services
{
///
/// Allows low level access to DWF (Design Web Format) data stored in a resource repository as part of a drawing source.
///
///
/// This example shows how to obtain a drawing service instance. Note that you should check if this service type is
/// supported through its capabilities.
///
///
///
///
public interface IDrawingService : IService
{
///
/// Gets the manifest.xml document which describes the supported document interfaces, the document properties, the sections and their contents, and section dependencies.
///
///
///
System.IO.Stream DescribeDrawing(string resourceID);
///
/// Gets the names of the layers in a DWF section.
///
///
///
///
string[] EnumerateDrawingLayers(string resourceID, string sectionName);
///
/// Enumerates the resources of a DWF section (sometimes called a sheet).
///
///
///
///
DrawingSectionResourceList EnumerateDrawingSectionResources(string resourceID, string sectionName);
///
/// Enumerates only the ePlot sections (sheets) in a DWF.
///
///
///
DrawingSectionList EnumerateDrawingSections(string resourceID);
///
/// Gets the coordinate system assigned to the DWF drawing.
///
///
///
string GetDrawingCoordinateSpace(string resourceID);
///
/// Returns the DWF stream for a drawing specified by resource identifier.
///
///
///
System.IO.Stream GetDrawing(string resourceID);
///
/// Gets a layer from a particular section of a DWF.
///
///
///
///
///
System.IO.Stream GetLayer(string resourceID, string sectionName, string layerName);
///
/// Gets a DWF containing only the requested section (sometimes called a sheet).
///
///
///
///
System.IO.Stream GetSection(string resourceID, string sectionName);
///
/// Gets a specific resource from the DWF.
///
///
///
///
System.IO.Stream GetSectionResource(string resourceID, string resourceName);
}
}