LibreOffice LibreOffice 25.2 SDK API Reference

Public Member Functions | List of all members
XTypeDetection Interface Referencepublished

support "flat" and "deep" type detection of a given document More...

`import"XTypeDetection.idl";`

Inheritance diagram for XTypeDetection:

## Public Member Functions
string | queryTypeByURL ([in] string URL)
| make a "flat" detection by using the URL of the document More...
string | queryTypeByDescriptor ([inout] sequence< com::sun::star::beans::PropertyValue > Descriptor, [in] boolean AllowDeep)
| make a "deep" detection or optional a "flat" detection by using a MediaDescriptor More...
Public Member Functions inherited from XInterface
any | queryInterface ([in] type aType)
| queries for a new interface to an existing UNO object. More...
void | acquire ()
| increases the reference counter by one. More...
void | release ()
| decreases the reference counter by one. More...

## Detailed Description

support "flat" and "deep" type detection of a given document

A "flat" detection means specifying the document format by using the URL and some configuration data only. That will perform but produce may invalid results if e.g., the extension of the document is wrong. A "deep" detection means looking into the document stream to be right which format it supports. Of course that includes a "flat" detection before. The combination of both ones should produce stable results every time.

See also
  TypeDetection

## Member Function Documentation

## ◆ queryTypeByDescriptor()

string queryTypeByDescriptor | ( | [inout] sequence< com::sun::star::beans::PropertyValue > | Descriptor,
|  | [in] boolean | AllowDeep
| ) |  |

make a "deep" detection or optional a "flat" detection by using a MediaDescriptor

Instead of XTypeDetection::queryTypeByURL() this function use a MediaDescriptor to specify the document for detection. Such descriptor hold different information about the document. He will be passed to any part of made detection process and every part can change it to actualize it. The property MediaDescriptor::URL should be set on this descriptor as minimum. It specifies the location of the document. If this parameter is missing another one is required: MediaDescriptor::InputStream. This can be useful to prevent operation against multiple opening of the stream and perform the operation. If this stream isn't already included the detection will open it (if allowed!) and add it to the descriptor so it will be available for all following parts. A combination of both parameters can be useful to perform the operation and make results more stable; but only one of them is required. Of course its possible to specify more document properties (e.g. MediaDescriptor::ReadOnly).
As an additional feature it's possible to suppress "deep" detection by using argument AllowDeep.

Parameters

  Descriptor | means the MediaDescriptor which specify the resource for detection
  AllowDeep | if it is set to `TRUE` a "deep" detection will be follow a "flat" detection if it is set to `FALSE` a "flat" detection will be made only

Returns
  an internal type name which represent the detected format
  or an empty value for unknown ones

## ◆ queryTypeByURL()

string queryTypeByURL | ( | [in] string | URL | ) |

make a "flat" detection by using the URL of the document

It use given URL in combination with the internal configuration of well known types only to specify the format of given document.

Parameters

  URL | specify the document by name

Returns
  an internal type name which represent the detected format
  or an empty value for unknown ones

The documentation for this interface was generated from the following file:

- com/sun/star/document/XTypeDetection.idl