/**************************************************************
 * 
 * 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.
 * 
 *************************************************************/



#ifndef com_sun_star_graphic_GraphicObject_idl
#define com_sun_star_graphic_GraphicObject_idl

#include <com/sun/star/graphic/XGraphicObject.idl>

module com { module sun { module star { module graphic
{
/** The <code>GraphicObject</code> service can be used to create <type>XGraphicObject</type> instances.

    <p><type>XGraphicObject</type> objects are accessable using GraphicObject scheme urls like
    <code>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</code>.
    As long as at least one instance of <type>XGraphicObject</type> with a particular UniqueID exists,
    the associated image/graphic is available.</p>

    @see GraphicObject
    @see GraphicProvider 
    @see MediaProperties 
*/

service GraphicObject : XGraphicObject
{
    /** Creates an <type>GraphicObject</type>
    */
    create();

    /** Creates an <type>GraphicObject</type> with <code>uniqueId</code>
        @param uniqueId 
		    If another <type>XGraphicObject</type> with <code>uniqueId</code> exists, this GraphicObject
            is populated with the other <type>GraphicObject</type>'s data.
    */
    createWithId( [in] string uniqueId );
};

} ; } ; } ; } ; 

#endif
