[API CHANGE] Remove uniqueID from XGraphicObject and GraphicObject

Creating a GraphicObject with the uniqueID isn't supported anymore,
so exposing the uniqueID doesn't make much sense. Both are removed
from the API with this commit. Code paths that used it were
refactored to use the alternative (property which transports
XGraphic or XBitmap).

XGraphicObject can now only be created empty and the XGraphic can
be set to it with setGraphic property.

Change-Id: I4df5ce0aef8814d482482effdbb4521a84252360
Reviewed-on: https://gerrit.libreoffice.org/53242
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
diff --git a/offapi/com/sun/star/graphic/GraphicObject.idl b/offapi/com/sun/star/graphic/GraphicObject.idl
index b633934..ef971c2 100644
--- a/offapi/com/sun/star/graphic/GraphicObject.idl
+++ b/offapi/com/sun/star/graphic/GraphicObject.idl
@@ -26,11 +26,6 @@ module com { module sun { module star { module graphic
{
/** The <code>GraphicObject</code> service can be used to create XGraphicObject instances.

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

    @see GraphicObject
    @see GraphicProvider
    @see MediaProperties
@@ -42,12 +37,6 @@ service GraphicObject : XGraphicObject
    */
    create();

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

} ; } ; } ; } ;
diff --git a/offapi/com/sun/star/graphic/XGraphicObject.idl b/offapi/com/sun/star/graphic/XGraphicObject.idl
index 155b0a5..895ef39 100644
--- a/offapi/com/sun/star/graphic/XGraphicObject.idl
+++ b/offapi/com/sun/star/graphic/XGraphicObject.idl
@@ -28,14 +28,6 @@ interface XGraphic;
/** <code>XGraphicObject</code> objects represent in-memory image and graphic
    objects.

    <p>Such objects are accessible using GraphicObject scheme URLs like
    <ul>
        <li>vnd.sun.star.GraphicObject:10000000000001940000012FB99807BD</li>
    </ul>
    The numeric portion of the url is formed from #UniqueID.
    As long as at least one instance of <code>XGraphicObject</code> with a particular UniqueID exists,
    the associated image/graphic is available.</p>

    @see XGraphicObject
    @see GraphicProvider
    @see MediaProperties
@@ -45,11 +37,7 @@ interface XGraphicObject : ::com::sun::star::uno::XInterface
{
    /** is the associated image/graphic for this object.
    */
    [attribute ] XGraphic Graphic;

    /** is the id that can be used to form the <code>vnd.sun.star.GraphicObject</code> url to address this object.
    */
    [attribute, readonly ] string UniqueID;
    [attribute] XGraphic Graphic;
};

} ; } ; } ; } ;
diff --git a/vcl/source/graphic/UnoGraphicObject.cxx b/vcl/source/graphic/UnoGraphicObject.cxx
index bb4debb..81a9d83 100644
--- a/vcl/source/graphic/UnoGraphicObject.cxx
+++ b/vcl/source/graphic/UnoGraphicObject.cxx
@@ -48,7 +48,6 @@ public:
     // XGraphicObject
    virtual uno::Reference<graphic::XGraphic> SAL_CALL getGraphic() override;
    virtual void SAL_CALL setGraphic(uno::Reference<graphic::XGraphic> const & rxGraphic) override;
    OUString SAL_CALL getUniqueID() override;

    virtual OUString SAL_CALL getImplementationName() override
    {
@@ -90,13 +89,6 @@ void SAL_CALL GraphicObjectImpl::setGraphic(uno::Reference<graphic::XGraphic> co
    mpGraphicObject->SetGraphic(aGraphic);
}

OUString SAL_CALL GraphicObjectImpl::getUniqueID()
{
    // not supported anymore so return empty string for now
    osl::MutexGuard aGuard(m_aMutex);
    return OUString();
}

} // end anonymous namespace

extern "C" SAL_DLLPUBLIC_EXPORT