1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_document_XDocumentProperties_idl__ 24*b1cdbd2cSJim Jagielski#define __com_sun_star_document_XDocumentProperties_idl__ 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_beans_PropertyValue_idl__ 27*b1cdbd2cSJim Jagielski#include <com/sun/star/beans/PropertyValue.idl> 28*b1cdbd2cSJim Jagielski#endif 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_util_DateTime_idl__ 31*b1cdbd2cSJim Jagielski#include <com/sun/star/util/DateTime.idl> 32*b1cdbd2cSJim Jagielski#endif 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_lang_Locale_idl__ 35*b1cdbd2cSJim Jagielski#include <com/sun/star/lang/Locale.idl> 36*b1cdbd2cSJim Jagielski#endif 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_beans_NamedValue_idl__ 39*b1cdbd2cSJim Jagielski#include <com/sun/star/beans/NamedValue.idl> 40*b1cdbd2cSJim Jagielski#endif 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_embed_XStorage_idl__ 43*b1cdbd2cSJim Jagielski#include <com/sun/star/embed/XStorage.idl> 44*b1cdbd2cSJim Jagielski#endif 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_io_IOException_idl__ 47*b1cdbd2cSJim Jagielski#include <com/sun/star/io/IOException.idl> 48*b1cdbd2cSJim Jagielski#endif 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_io_WrongFormatException_idl__ 51*b1cdbd2cSJim Jagielski#include <com/sun/star/io/WrongFormatException.idl> 52*b1cdbd2cSJim Jagielski#endif 53*b1cdbd2cSJim Jagielski 54*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_beans_XPropertySet_idl__ 55*b1cdbd2cSJim Jagielski#include <com/sun/star/beans/XPropertySet.idl> 56*b1cdbd2cSJim Jagielski#endif 57*b1cdbd2cSJim Jagielski 58*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_beans_XPropertyContainer_idl__ 59*b1cdbd2cSJim Jagielski#include <com/sun/star/beans/XPropertyContainer.idl> 60*b1cdbd2cSJim Jagielski#endif 61*b1cdbd2cSJim Jagielski 62*b1cdbd2cSJim Jagielski 63*b1cdbd2cSJim Jagielski//============================================================================= 64*b1cdbd2cSJim Jagielski 65*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module document { 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski//============================================================================= 68*b1cdbd2cSJim Jagielski/** provides document-specific information such as the author, creation date, 69*b1cdbd2cSJim Jagielski and user-defined fields. 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski <p> 72*b1cdbd2cSJim Jagielski This interface manages access to document meta-data properties. 73*b1cdbd2cSJim Jagielski Such properties may be set from the outside via the setter methods 74*b1cdbd2cSJim Jagielski (e.g. when importing arbitrary document formats that support 75*b1cdbd2cSJim Jagielski document properties), or imported from an ODF package via the methods 76*b1cdbd2cSJim Jagielski <member>loadFromStorage</member> and <member>loadFromMedium</member>. 77*b1cdbd2cSJim Jagielski The properties may also be stored via the methods 78*b1cdbd2cSJim Jagielski <member>storeToStorage</member> and <member>storeToMedium</member>. 79*b1cdbd2cSJim Jagielski </p> 80*b1cdbd2cSJim Jagielski 81*b1cdbd2cSJim Jagielski @since OpenOffice 3.0 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski @see XDocumentPropertiesSupplier 84*b1cdbd2cSJim Jagielski for getting access to an instance from a loaded document 85*b1cdbd2cSJim Jagielski @see DocumentProperties for a service that implements this interface 86*b1cdbd2cSJim Jagielski */ 87*b1cdbd2cSJim Jagielskipublished interface XDocumentProperties 88*b1cdbd2cSJim Jagielski{ 89*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 90*b1cdbd2cSJim Jagielski /** contains the initial author of the document. 91*b1cdbd2cSJim Jagielski */ 92*b1cdbd2cSJim Jagielski 93*b1cdbd2cSJim Jagielski [attribute] string Author; 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 96*b1cdbd2cSJim Jagielski /** identifies which application was used to create or last modify the 97*b1cdbd2cSJim Jagielski document. 98*b1cdbd2cSJim Jagielski <p> 99*b1cdbd2cSJim Jagielski The generating application will set this attribute when it creates a 100*b1cdbd2cSJim Jagielski new document or it saves a document. When a document is loaded that 101*b1cdbd2cSJim Jagielski itself contains such an attribute it will be preserved until the 102*b1cdbd2cSJim Jagielski document is saved again. 103*b1cdbd2cSJim Jagielski </p> 104*b1cdbd2cSJim Jagielski */ 105*b1cdbd2cSJim Jagielski 106*b1cdbd2cSJim Jagielski [attribute] string Generator; 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 109*b1cdbd2cSJim Jagielski /** contains the date and time when the document was created. 110*b1cdbd2cSJim Jagielski */ 111*b1cdbd2cSJim Jagielski 112*b1cdbd2cSJim Jagielski [attribute] com::sun::star::util::DateTime CreationDate; 113*b1cdbd2cSJim Jagielski 114*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 115*b1cdbd2cSJim Jagielski /** contains the title of the document. 116*b1cdbd2cSJim Jagielski */ 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski [attribute] string Title; 119*b1cdbd2cSJim Jagielski 120*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 121*b1cdbd2cSJim Jagielski /** contains the subject of the document. 122*b1cdbd2cSJim Jagielski */ 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski [attribute] string Subject; 125*b1cdbd2cSJim Jagielski 126*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 127*b1cdbd2cSJim Jagielski /** contains a multi-line comment describing the document. 128*b1cdbd2cSJim Jagielski <p> 129*b1cdbd2cSJim Jagielski Line delimiters can be UNIX, Macintosh or DOS style. 130*b1cdbd2cSJim Jagielski </p> 131*b1cdbd2cSJim Jagielski */ 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski [attribute] string Description; 134*b1cdbd2cSJim Jagielski 135*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 136*b1cdbd2cSJim Jagielski /** contains a list of keywords for the document. 137*b1cdbd2cSJim Jagielski */ 138*b1cdbd2cSJim Jagielski 139*b1cdbd2cSJim Jagielski [attribute] sequence< string > Keywords; 140*b1cdbd2cSJim Jagielski 141*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 142*b1cdbd2cSJim Jagielski /** contains the default language of the document. 143*b1cdbd2cSJim Jagielski */ 144*b1cdbd2cSJim Jagielski 145*b1cdbd2cSJim Jagielski [attribute] com::sun::star::lang::Locale Language; 146*b1cdbd2cSJim Jagielski 147*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 148*b1cdbd2cSJim Jagielski /** contains the name of the person who most recently stored the document. 149*b1cdbd2cSJim Jagielski */ 150*b1cdbd2cSJim Jagielski 151*b1cdbd2cSJim Jagielski [attribute] string ModifiedBy; 152*b1cdbd2cSJim Jagielski 153*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 154*b1cdbd2cSJim Jagielski /** contains the date and time of the last time the document was stored. 155*b1cdbd2cSJim Jagielski <p> 156*b1cdbd2cSJim Jagielski If the document has never been stored, contains a default value. 157*b1cdbd2cSJim Jagielski </p> 158*b1cdbd2cSJim Jagielski */ 159*b1cdbd2cSJim Jagielski 160*b1cdbd2cSJim Jagielski [attribute] com::sun::star::util::DateTime ModificationDate; 161*b1cdbd2cSJim Jagielski 162*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 163*b1cdbd2cSJim Jagielski /** contains the name of the person who most recently printed the document. 164*b1cdbd2cSJim Jagielski */ 165*b1cdbd2cSJim Jagielski 166*b1cdbd2cSJim Jagielski [attribute] string PrintedBy; 167*b1cdbd2cSJim Jagielski 168*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 169*b1cdbd2cSJim Jagielski /** contains the date and time when the document was last printed. 170*b1cdbd2cSJim Jagielski <p> 171*b1cdbd2cSJim Jagielski If the document has never been printed, contains a default value. 172*b1cdbd2cSJim Jagielski </p> 173*b1cdbd2cSJim Jagielski */ 174*b1cdbd2cSJim Jagielski 175*b1cdbd2cSJim Jagielski [attribute] com::sun::star::util::DateTime PrintDate; 176*b1cdbd2cSJim Jagielski 177*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 178*b1cdbd2cSJim Jagielski /** contains the name of the template from which the document was created. 179*b1cdbd2cSJim Jagielski <p> 180*b1cdbd2cSJim Jagielski The value is an empty <atom>string</atom> if the document was not 181*b1cdbd2cSJim Jagielski created from a template or if it was detached from the template. 182*b1cdbd2cSJim Jagielski </p> 183*b1cdbd2cSJim Jagielski */ 184*b1cdbd2cSJim Jagielski 185*b1cdbd2cSJim Jagielski [attribute] string TemplateName; 186*b1cdbd2cSJim Jagielski 187*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 188*b1cdbd2cSJim Jagielski /** contains the URL of the template from which the document was created. 189*b1cdbd2cSJim Jagielski <p> 190*b1cdbd2cSJim Jagielski The value is an empty <atom>string</atom> if the document was not 191*b1cdbd2cSJim Jagielski created from a template or if it was detached from the template. 192*b1cdbd2cSJim Jagielski </p> 193*b1cdbd2cSJim Jagielski */ 194*b1cdbd2cSJim Jagielski 195*b1cdbd2cSJim Jagielski [attribute] string TemplateURL; 196*b1cdbd2cSJim Jagielski 197*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 198*b1cdbd2cSJim Jagielski /** contains the date and time of when the document 199*b1cdbd2cSJim Jagielski was created or updated from the template. 200*b1cdbd2cSJim Jagielski */ 201*b1cdbd2cSJim Jagielski 202*b1cdbd2cSJim Jagielski [attribute] com::sun::star::util::DateTime TemplateDate; 203*b1cdbd2cSJim Jagielski 204*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 205*b1cdbd2cSJim Jagielski /** contains the URL to load automatically at a 206*b1cdbd2cSJim Jagielski specified time after the document is loaded into a desktop frame. 207*b1cdbd2cSJim Jagielski <p> 208*b1cdbd2cSJim Jagielski An empty URL is valid and describes a case where the document shall be 209*b1cdbd2cSJim Jagielski reloaded from its original loction after some time described by the 210*b1cdbd2cSJim Jagielski attribute <member>AutoloadSecs</member>. 211*b1cdbd2cSJim Jagielski An empty <atom>string</atom> together with an 212*b1cdbd2cSJim Jagielski <member>AutoloadSecs</member> value of 0 213*b1cdbd2cSJim Jagielski describes a case where no autoload is specified. 214*b1cdbd2cSJim Jagielski </p> 215*b1cdbd2cSJim Jagielski 216*b1cdbd2cSJim Jagielski @see AutoloadSecs 217*b1cdbd2cSJim Jagielski */ 218*b1cdbd2cSJim Jagielski 219*b1cdbd2cSJim Jagielski [attribute] string AutoloadURL; 220*b1cdbd2cSJim Jagielski 221*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 222*b1cdbd2cSJim Jagielski /** contains the number of seconds after which a specified 223*b1cdbd2cSJim Jagielski URL is to be loaded after the document is loaded into a desktop 224*b1cdbd2cSJim Jagielski frame. 225*b1cdbd2cSJim Jagielski <p> 226*b1cdbd2cSJim Jagielski A value of 0 is valid and describes a redirection. 227*b1cdbd2cSJim Jagielski A value of 0 together with an empty <atom>string</atom> as 228*b1cdbd2cSJim Jagielski <member>AutoloadURL</member> 229*b1cdbd2cSJim Jagielski describes a case where no autoload is specified. 230*b1cdbd2cSJim Jagielski </p> 231*b1cdbd2cSJim Jagielski 232*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 233*b1cdbd2cSJim Jagielski if argument is negative 234*b1cdbd2cSJim Jagielski 235*b1cdbd2cSJim Jagielski @see AutoloadURL 236*b1cdbd2cSJim Jagielski */ 237*b1cdbd2cSJim Jagielski 238*b1cdbd2cSJim Jagielski [attribute] long AutoloadSecs { 239*b1cdbd2cSJim Jagielski set raises ( com::sun::star::lang::IllegalArgumentException ); 240*b1cdbd2cSJim Jagielski }; 241*b1cdbd2cSJim Jagielski 242*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 243*b1cdbd2cSJim Jagielski /** contains the name of the default frame into which 244*b1cdbd2cSJim Jagielski links should be loaded if no target is specified. 245*b1cdbd2cSJim Jagielski <p> 246*b1cdbd2cSJim Jagielski This applies to the autoload feature too, but to others as well. 247*b1cdbd2cSJim Jagielski </p> 248*b1cdbd2cSJim Jagielski */ 249*b1cdbd2cSJim Jagielski 250*b1cdbd2cSJim Jagielski [attribute] string DefaultTarget; 251*b1cdbd2cSJim Jagielski 252*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 253*b1cdbd2cSJim Jagielski /** contains some statistics about the document. 254*b1cdbd2cSJim Jagielski <p> 255*b1cdbd2cSJim Jagielski The contained statistics may be specific to the type of the document. 256*b1cdbd2cSJim Jagielski </p> 257*b1cdbd2cSJim Jagielski */ 258*b1cdbd2cSJim Jagielski 259*b1cdbd2cSJim Jagielski [attribute] 260*b1cdbd2cSJim Jagielski sequence< com::sun::star::beans::NamedValue > DocumentStatistics; 261*b1cdbd2cSJim Jagielski 262*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 263*b1cdbd2cSJim Jagielski /** describes how often the document was edited and saved. 264*b1cdbd2cSJim Jagielski <p> 265*b1cdbd2cSJim Jagielski </p> 266*b1cdbd2cSJim Jagielski 267*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 268*b1cdbd2cSJim Jagielski if argument is negative 269*b1cdbd2cSJim Jagielski */ 270*b1cdbd2cSJim Jagielski 271*b1cdbd2cSJim Jagielski [attribute] short EditingCycles { 272*b1cdbd2cSJim Jagielski set raises ( com::sun::star::lang::IllegalArgumentException ); 273*b1cdbd2cSJim Jagielski }; 274*b1cdbd2cSJim Jagielski 275*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 276*b1cdbd2cSJim Jagielski /** contains the net time of editing the document (in seconds). 277*b1cdbd2cSJim Jagielski <p> 278*b1cdbd2cSJim Jagielski </p> 279*b1cdbd2cSJim Jagielski 280*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 281*b1cdbd2cSJim Jagielski if argument is negative 282*b1cdbd2cSJim Jagielski */ 283*b1cdbd2cSJim Jagielski 284*b1cdbd2cSJim Jagielski [attribute] long EditingDuration { 285*b1cdbd2cSJim Jagielski set raises ( com::sun::star::lang::IllegalArgumentException ); 286*b1cdbd2cSJim Jagielski }; 287*b1cdbd2cSJim Jagielski 288*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 289*b1cdbd2cSJim Jagielski /** resets all attributes that could identify the user. 290*b1cdbd2cSJim Jagielski <p> 291*b1cdbd2cSJim Jagielski Clears the document properties, such that it apperars the document 292*b1cdbd2cSJim Jagielski has just been created. 293*b1cdbd2cSJim Jagielski This is a convenience method which resets several attributes at once, 294*b1cdbd2cSJim Jagielski as follows: 295*b1cdbd2cSJim Jagielski <ul> 296*b1cdbd2cSJim Jagielski <li><member>Author</member> is set to the given parameter.</li> 297*b1cdbd2cSJim Jagielski <li><member>CreationDate</member> is set to the current date and time. 298*b1cdbd2cSJim Jagielski </li> 299*b1cdbd2cSJim Jagielski <li><member>ModifiedBy</member> is cleared.</li> 300*b1cdbd2cSJim Jagielski <li><member>ModificationDate</member> is cleared.</li> 301*b1cdbd2cSJim Jagielski <li><member>PrintedBy</member> is cleared.</li> 302*b1cdbd2cSJim Jagielski <li><member>PrintDate</member> is cleared.</li> 303*b1cdbd2cSJim Jagielski <li><member>EditingDuration</member> is cleared.</li> 304*b1cdbd2cSJim Jagielski <li><member>EditingCycles</member> is set to 1.</li> 305*b1cdbd2cSJim Jagielski </ul> 306*b1cdbd2cSJim Jagielski 307*b1cdbd2cSJim Jagielski @param Author 308*b1cdbd2cSJim Jagielski the new value of the <member>Author</member> attribute. 309*b1cdbd2cSJim Jagielski </p> 310*b1cdbd2cSJim Jagielski */ 311*b1cdbd2cSJim Jagielski void resetUserData( [in] string Author ); 312*b1cdbd2cSJim Jagielski 313*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 314*b1cdbd2cSJim Jagielski /** provides access to a container for user-defined properties. 315*b1cdbd2cSJim Jagielski <p> 316*b1cdbd2cSJim Jagielski The returned object also implements the interface 317*b1cdbd2cSJim Jagielski <type>com::sun::star::beans::XPropertySet</type>. 318*b1cdbd2cSJim Jagielski </p> 319*b1cdbd2cSJim Jagielski @returns a container that provides access to user-defined properties 320*b1cdbd2cSJim Jagielski */ 321*b1cdbd2cSJim Jagielski 322*b1cdbd2cSJim Jagielski com::sun::star::beans::XPropertyContainer getUserDefinedProperties(); 323*b1cdbd2cSJim Jagielski 324*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 325*b1cdbd2cSJim Jagielski /** loads document properties from an ODF package. 326*b1cdbd2cSJim Jagielski <p> 327*b1cdbd2cSJim Jagielski This method is used for accessing an ODF package that is owned by 328*b1cdbd2cSJim Jagielski someone else, e.g., a document. 329*b1cdbd2cSJim Jagielski </p> 330*b1cdbd2cSJim Jagielski 331*b1cdbd2cSJim Jagielski @param Storage 332*b1cdbd2cSJim Jagielski the <type>com::sun::star::embed::Storage</type> representing the 333*b1cdbd2cSJim Jagielski ODF package 334*b1cdbd2cSJim Jagielski 335*b1cdbd2cSJim Jagielski @param Medium 336*b1cdbd2cSJim Jagielski the <type>com::sun::star::document::MediaDescriptor</type> 337*b1cdbd2cSJim Jagielski representing the source 338*b1cdbd2cSJim Jagielski <p> 339*b1cdbd2cSJim Jagielski This is unfortunately necessary in order to properly resolve 340*b1cdbd2cSJim Jagielski relative URLs in the meta-data. 341*b1cdbd2cSJim Jagielski </p> 342*b1cdbd2cSJim Jagielski 343*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 344*b1cdbd2cSJim Jagielski if argument is <NULL/> 345*b1cdbd2cSJim Jagielski @throws com::sun::star::io::WrongFormatException 346*b1cdbd2cSJim Jagielski if parsing the XML document fails 347*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::WrappedTargetException 348*b1cdbd2cSJim Jagielski if thrown when trying to open a stream in the given storage 349*b1cdbd2cSJim Jagielski @throws com::sun::star::io::IOException 350*b1cdbd2cSJim Jagielski if thrown when trying to open a stream in the given storage 351*b1cdbd2cSJim Jagielski */ 352*b1cdbd2cSJim Jagielski 353*b1cdbd2cSJim Jagielski void loadFromStorage( [in] com::sun::star::embed::XStorage Storage, 354*b1cdbd2cSJim Jagielski [in] sequence < com::sun::star::beans::PropertyValue > Medium ) 355*b1cdbd2cSJim Jagielski raises( com::sun::star::lang::IllegalArgumentException, 356*b1cdbd2cSJim Jagielski com::sun::star::io::WrongFormatException, 357*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 358*b1cdbd2cSJim Jagielski com::sun::star::io::IOException ); 359*b1cdbd2cSJim Jagielski 360*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 361*b1cdbd2cSJim Jagielski /** loads document properties from an ODF package or an OLE container. 362*b1cdbd2cSJim Jagielski 363*b1cdbd2cSJim Jagielski @param URL 364*b1cdbd2cSJim Jagielski the URL of the source document 365*b1cdbd2cSJim Jagielski <p> 366*b1cdbd2cSJim Jagielski The URL could be part of the Medium parameter, but because often 367*b1cdbd2cSJim Jagielski no other parameters except the URL are needed, providing it 368*b1cdbd2cSJim Jagielski separately was added for convenience. 369*b1cdbd2cSJim Jagielski </p> 370*b1cdbd2cSJim Jagielski 371*b1cdbd2cSJim Jagielski @param Medium 372*b1cdbd2cSJim Jagielski the <type>com::sun::star::document::MediaDescriptor</type> 373*b1cdbd2cSJim Jagielski representing the source 374*b1cdbd2cSJim Jagielski 375*b1cdbd2cSJim Jagielski @throws com::sun::star::io::WrongFormatException 376*b1cdbd2cSJim Jagielski if parsing the XML document fails 377*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::WrappedTargetException 378*b1cdbd2cSJim Jagielski if thrown when trying to open a stream in the given storage 379*b1cdbd2cSJim Jagielski @throws com::sun::star::io::IOException 380*b1cdbd2cSJim Jagielski if thrown when trying to open a stream in the given storage 381*b1cdbd2cSJim Jagielski */ 382*b1cdbd2cSJim Jagielski 383*b1cdbd2cSJim Jagielski void loadFromMedium( [in] string URL, 384*b1cdbd2cSJim Jagielski [in] sequence < com::sun::star::beans::PropertyValue > Medium ) 385*b1cdbd2cSJim Jagielski raises( com::sun::star::io::WrongFormatException, 386*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 387*b1cdbd2cSJim Jagielski com::sun::star::io::IOException ); 388*b1cdbd2cSJim Jagielski 389*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 390*b1cdbd2cSJim Jagielski /** stores document properties to an ODF package. 391*b1cdbd2cSJim Jagielski <p> 392*b1cdbd2cSJim Jagielski This method is used for accessing an ODF package that is owned by 393*b1cdbd2cSJim Jagielski someone else, e.g., a document. 394*b1cdbd2cSJim Jagielski Note that the implementation may choose to store the meta-data 395*b1cdbd2cSJim Jagielski in either OpenOffice or ODF format, depending on the MediaType property 396*b1cdbd2cSJim Jagielski of the given <type>Storage</type> argument. 397*b1cdbd2cSJim Jagielski </p> 398*b1cdbd2cSJim Jagielski 399*b1cdbd2cSJim Jagielski @param Storage 400*b1cdbd2cSJim Jagielski the <type>com::sun::star::embed::Storage</type> representing the 401*b1cdbd2cSJim Jagielski ODF package 402*b1cdbd2cSJim Jagielski 403*b1cdbd2cSJim Jagielski @param Medium 404*b1cdbd2cSJim Jagielski the <type>com::sun::star::document::MediaDescriptor</type> 405*b1cdbd2cSJim Jagielski representing the source 406*b1cdbd2cSJim Jagielski <p> 407*b1cdbd2cSJim Jagielski This is unfortunately necessary in order to properly resolve 408*b1cdbd2cSJim Jagielski relative URLs in the meta-data. 409*b1cdbd2cSJim Jagielski </p> 410*b1cdbd2cSJim Jagielski 411*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::IllegalArgumentException 412*b1cdbd2cSJim Jagielski if argument is <NULL/> 413*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::WrappedTargetException 414*b1cdbd2cSJim Jagielski if thrown when trying to open a stream in the given storage 415*b1cdbd2cSJim Jagielski @throws com::sun::star::io::IOException 416*b1cdbd2cSJim Jagielski if thrown when writing to the storage 417*b1cdbd2cSJim Jagielski */ 418*b1cdbd2cSJim Jagielski 419*b1cdbd2cSJim Jagielski void storeToStorage( [in] com::sun::star::embed::XStorage Storage, 420*b1cdbd2cSJim Jagielski [in] sequence < com::sun::star::beans::PropertyValue > Medium ) 421*b1cdbd2cSJim Jagielski raises( com::sun::star::lang::IllegalArgumentException, 422*b1cdbd2cSJim Jagielski com::sun::star::lang::WrappedTargetException, 423*b1cdbd2cSJim Jagielski com::sun::star::io::IOException ); 424*b1cdbd2cSJim Jagielski 425*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 426*b1cdbd2cSJim Jagielski /** stores document properties to an ODF package or an OLE container. 427*b1cdbd2cSJim Jagielski 428*b1cdbd2cSJim Jagielski @param URL 429*b1cdbd2cSJim Jagielski the URL of the target document 430*b1cdbd2cSJim Jagielski <p> 431*b1cdbd2cSJim Jagielski The URL could be part of the Medium parameter, but because often 432*b1cdbd2cSJim Jagielski no other parameters except the URL are needed, providing it 433*b1cdbd2cSJim Jagielski separately was added for convenience. 434*b1cdbd2cSJim Jagielski </p> 435*b1cdbd2cSJim Jagielski 436*b1cdbd2cSJim Jagielski @param Medium 437*b1cdbd2cSJim Jagielski the <type>com::sun::star::document::MediaDescriptor</type> 438*b1cdbd2cSJim Jagielski representing the target 439*b1cdbd2cSJim Jagielski 440*b1cdbd2cSJim Jagielski @throws com::sun::star::lang::WrappedTargetException 441*b1cdbd2cSJim Jagielski if thrown when trying to open a stream in the given storage 442*b1cdbd2cSJim Jagielski @throws com::sun::star::io::IOException 443*b1cdbd2cSJim Jagielski if thrown when writing to the storage 444*b1cdbd2cSJim Jagielski */ 445*b1cdbd2cSJim Jagielski 446*b1cdbd2cSJim Jagielski void storeToMedium( [in] string URL, 447*b1cdbd2cSJim Jagielski [in] sequence < com::sun::star::beans::PropertyValue > Medium ) 448*b1cdbd2cSJim Jagielski raises( com::sun::star::lang::WrappedTargetException, 449*b1cdbd2cSJim Jagielski com::sun::star::io::IOException ); 450*b1cdbd2cSJim Jagielski}; 451*b1cdbd2cSJim Jagielski 452*b1cdbd2cSJim Jagielski//============================================================================= 453*b1cdbd2cSJim Jagielski 454*b1cdbd2cSJim Jagielski}; }; }; }; 455*b1cdbd2cSJim Jagielski 456*b1cdbd2cSJim Jagielski#endif 457