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
24*b1cdbd2cSJim Jagielski // MARKER(update_precomp.py): autogen include statement, do not remove
25*b1cdbd2cSJim Jagielski #include "precompiled_ucb.hxx"
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski /**************************************************************************
28*b1cdbd2cSJim Jagielski TODO
29*b1cdbd2cSJim Jagielski **************************************************************************
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski **************************************************************************
32*b1cdbd2cSJim Jagielski
33*b1cdbd2cSJim Jagielski Props/Commands:
34*b1cdbd2cSJim Jagielski
35*b1cdbd2cSJim Jagielski root document folder folder stream stream
36*b1cdbd2cSJim Jagielski (new) (new)
37*b1cdbd2cSJim Jagielski ----------------------------------------------------------------
38*b1cdbd2cSJim Jagielski ContentType r r r r r r
39*b1cdbd2cSJim Jagielski IsDocument r r r r r r
40*b1cdbd2cSJim Jagielski IsFolder r r r r r r
41*b1cdbd2cSJim Jagielski Title r r w w w w
42*b1cdbd2cSJim Jagielski CreatableContentsInfo r r r r r r
43*b1cdbd2cSJim Jagielski Storage - - r r - -
44*b1cdbd2cSJim Jagielski DocumentModel - r - - - -
45*b1cdbd2cSJim Jagielski
46*b1cdbd2cSJim Jagielski getCommandInfo x x x x x x
47*b1cdbd2cSJim Jagielski getPropertySetInfo x x x x x x
48*b1cdbd2cSJim Jagielski getPropertyValues x x x x x x
49*b1cdbd2cSJim Jagielski setPropertyValues x x x x x x
50*b1cdbd2cSJim Jagielski insert - - x x x(*) x(*)
51*b1cdbd2cSJim Jagielski delete - - x - x -
52*b1cdbd2cSJim Jagielski open x x x - x -
53*b1cdbd2cSJim Jagielski transfer - x x - - -
54*b1cdbd2cSJim Jagielski createNewContent - x x - - -
55*b1cdbd2cSJim Jagielski
56*b1cdbd2cSJim Jagielski #ifdef NO_STREAM_CREATION_WITHIN_DOCUMENT_ROOT
57*b1cdbd2cSJim Jagielski (*) not supported by streams that are direct children of document
58*b1cdbd2cSJim Jagielski #endif
59*b1cdbd2cSJim Jagielski
60*b1cdbd2cSJim Jagielski *************************************************************************/
61*b1cdbd2cSJim Jagielski
62*b1cdbd2cSJim Jagielski #include "com/sun/star/beans/Property.hpp"
63*b1cdbd2cSJim Jagielski #include "com/sun/star/beans/PropertyAttribute.hpp"
64*b1cdbd2cSJim Jagielski #include "com/sun/star/beans/PropertyValue.hpp"
65*b1cdbd2cSJim Jagielski #include "com/sun/star/embed/XStorage.hpp"
66*b1cdbd2cSJim Jagielski #include "com/sun/star/frame/XModel.hpp"
67*b1cdbd2cSJim Jagielski #include "com/sun/star/ucb/CommandInfo.hpp"
68*b1cdbd2cSJim Jagielski #include "com/sun/star/ucb/OpenCommandArgument2.hpp"
69*b1cdbd2cSJim Jagielski #include "com/sun/star/ucb/TransferInfo.hpp"
70*b1cdbd2cSJim Jagielski
71*b1cdbd2cSJim Jagielski #include "tdoc_content.hxx"
72*b1cdbd2cSJim Jagielski
73*b1cdbd2cSJim Jagielski namespace com { namespace sun { namespace star { namespace embed {
74*b1cdbd2cSJim Jagielski class XStorage;
75*b1cdbd2cSJim Jagielski } } } }
76*b1cdbd2cSJim Jagielski
77*b1cdbd2cSJim Jagielski using namespace com::sun::star;
78*b1cdbd2cSJim Jagielski using namespace tdoc_ucp;
79*b1cdbd2cSJim Jagielski
80*b1cdbd2cSJim Jagielski //=========================================================================
81*b1cdbd2cSJim Jagielski //
82*b1cdbd2cSJim Jagielski // Content implementation.
83*b1cdbd2cSJim Jagielski //
84*b1cdbd2cSJim Jagielski //=========================================================================
85*b1cdbd2cSJim Jagielski
86*b1cdbd2cSJim Jagielski #define MAKEPROPSEQUENCE( a ) \
87*b1cdbd2cSJim Jagielski uno::Sequence< beans::Property >( a, sizeof( a ) / sizeof( a[ 0 ] ) )
88*b1cdbd2cSJim Jagielski
89*b1cdbd2cSJim Jagielski #define MAKECMDSEQUENCE( a ) \
90*b1cdbd2cSJim Jagielski uno::Sequence< ucb::CommandInfo >( a, sizeof( a ) / sizeof( a[ 0 ] ) )
91*b1cdbd2cSJim Jagielski
92*b1cdbd2cSJim Jagielski //=========================================================================
93*b1cdbd2cSJim Jagielski //
94*b1cdbd2cSJim Jagielski // IMPORTENT: If any property data ( name / type / ... ) are changed, then
95*b1cdbd2cSJim Jagielski // Content::getPropertyValues(...) must be adapted too!
96*b1cdbd2cSJim Jagielski //
97*b1cdbd2cSJim Jagielski //=========================================================================
98*b1cdbd2cSJim Jagielski
99*b1cdbd2cSJim Jagielski // virtual
getProperties(const uno::Reference<ucb::XCommandEnvironment> &)100*b1cdbd2cSJim Jagielski uno::Sequence< beans::Property > Content::getProperties(
101*b1cdbd2cSJim Jagielski const uno::Reference< ucb::XCommandEnvironment > & /*xEnv*/ )
102*b1cdbd2cSJim Jagielski {
103*b1cdbd2cSJim Jagielski osl::Guard< osl::Mutex > aGuard( m_aMutex );
104*b1cdbd2cSJim Jagielski
105*b1cdbd2cSJim Jagielski if ( m_aProps.getType() == STREAM )
106*b1cdbd2cSJim Jagielski {
107*b1cdbd2cSJim Jagielski //=================================================================
108*b1cdbd2cSJim Jagielski //
109*b1cdbd2cSJim Jagielski // Stream: Supported properties
110*b1cdbd2cSJim Jagielski //
111*b1cdbd2cSJim Jagielski //=================================================================
112*b1cdbd2cSJim Jagielski
113*b1cdbd2cSJim Jagielski static const beans::Property aStreamPropertyInfoTable[] =
114*b1cdbd2cSJim Jagielski {
115*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
116*b1cdbd2cSJim Jagielski // Mandatory properties
117*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
118*b1cdbd2cSJim Jagielski beans::Property(
119*b1cdbd2cSJim Jagielski rtl::OUString(
120*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "ContentType" ) ),
121*b1cdbd2cSJim Jagielski -1,
122*b1cdbd2cSJim Jagielski getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
123*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
124*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
125*b1cdbd2cSJim Jagielski ),
126*b1cdbd2cSJim Jagielski beans::Property(
127*b1cdbd2cSJim Jagielski rtl::OUString(
128*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "IsDocument" ) ),
129*b1cdbd2cSJim Jagielski -1,
130*b1cdbd2cSJim Jagielski getCppuBooleanType(),
131*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
132*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
133*b1cdbd2cSJim Jagielski ),
134*b1cdbd2cSJim Jagielski beans::Property(
135*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsFolder" ) ),
136*b1cdbd2cSJim Jagielski -1,
137*b1cdbd2cSJim Jagielski getCppuBooleanType(),
138*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
139*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
140*b1cdbd2cSJim Jagielski ),
141*b1cdbd2cSJim Jagielski beans::Property(
142*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Title" ) ),
143*b1cdbd2cSJim Jagielski -1,
144*b1cdbd2cSJim Jagielski getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
145*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
146*b1cdbd2cSJim Jagielski ),
147*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
148*b1cdbd2cSJim Jagielski // Optional standard properties
149*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
150*b1cdbd2cSJim Jagielski beans::Property(
151*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
152*b1cdbd2cSJim Jagielski "CreatableContentsInfo" ) ),
153*b1cdbd2cSJim Jagielski -1,
154*b1cdbd2cSJim Jagielski getCppuType( static_cast<
155*b1cdbd2cSJim Jagielski const uno::Sequence< ucb::ContentInfo > * >( 0 ) ),
156*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
157*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
158*b1cdbd2cSJim Jagielski )
159*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
160*b1cdbd2cSJim Jagielski // New properties
161*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
162*b1cdbd2cSJim Jagielski };
163*b1cdbd2cSJim Jagielski return MAKEPROPSEQUENCE( aStreamPropertyInfoTable );
164*b1cdbd2cSJim Jagielski }
165*b1cdbd2cSJim Jagielski else if ( m_aProps.getType() == FOLDER )
166*b1cdbd2cSJim Jagielski {
167*b1cdbd2cSJim Jagielski //=================================================================
168*b1cdbd2cSJim Jagielski //
169*b1cdbd2cSJim Jagielski // Folder: Supported properties
170*b1cdbd2cSJim Jagielski //
171*b1cdbd2cSJim Jagielski //=================================================================
172*b1cdbd2cSJim Jagielski
173*b1cdbd2cSJim Jagielski static const beans::Property aFolderPropertyInfoTable[] =
174*b1cdbd2cSJim Jagielski {
175*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
176*b1cdbd2cSJim Jagielski // Mandatory properties
177*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
178*b1cdbd2cSJim Jagielski beans::Property(
179*b1cdbd2cSJim Jagielski rtl::OUString(
180*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "ContentType" ) ),
181*b1cdbd2cSJim Jagielski -1,
182*b1cdbd2cSJim Jagielski getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
183*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
184*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
185*b1cdbd2cSJim Jagielski ),
186*b1cdbd2cSJim Jagielski beans::Property(
187*b1cdbd2cSJim Jagielski rtl::OUString(
188*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "IsDocument" ) ),
189*b1cdbd2cSJim Jagielski -1,
190*b1cdbd2cSJim Jagielski getCppuBooleanType(),
191*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
192*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
193*b1cdbd2cSJim Jagielski ),
194*b1cdbd2cSJim Jagielski beans::Property(
195*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsFolder" ) ),
196*b1cdbd2cSJim Jagielski -1,
197*b1cdbd2cSJim Jagielski getCppuBooleanType(),
198*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
199*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
200*b1cdbd2cSJim Jagielski ),
201*b1cdbd2cSJim Jagielski beans::Property(
202*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Title" ) ),
203*b1cdbd2cSJim Jagielski -1,
204*b1cdbd2cSJim Jagielski getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
205*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
206*b1cdbd2cSJim Jagielski ),
207*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
208*b1cdbd2cSJim Jagielski // Optional standard properties
209*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
210*b1cdbd2cSJim Jagielski beans::Property(
211*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
212*b1cdbd2cSJim Jagielski "CreatableContentsInfo" ) ),
213*b1cdbd2cSJim Jagielski -1,
214*b1cdbd2cSJim Jagielski getCppuType( static_cast<
215*b1cdbd2cSJim Jagielski const uno::Sequence< ucb::ContentInfo > * >( 0 ) ),
216*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
217*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
218*b1cdbd2cSJim Jagielski ),
219*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
220*b1cdbd2cSJim Jagielski // New properties
221*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
222*b1cdbd2cSJim Jagielski beans::Property(
223*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Storage" ) ),
224*b1cdbd2cSJim Jagielski -1,
225*b1cdbd2cSJim Jagielski getCppuType( static_cast<
226*b1cdbd2cSJim Jagielski const uno::Reference< embed::XStorage > * >( 0 ) ),
227*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
228*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
229*b1cdbd2cSJim Jagielski )
230*b1cdbd2cSJim Jagielski };
231*b1cdbd2cSJim Jagielski return MAKEPROPSEQUENCE( aFolderPropertyInfoTable );
232*b1cdbd2cSJim Jagielski }
233*b1cdbd2cSJim Jagielski else if ( m_aProps.getType() == DOCUMENT )
234*b1cdbd2cSJim Jagielski {
235*b1cdbd2cSJim Jagielski //=================================================================
236*b1cdbd2cSJim Jagielski //
237*b1cdbd2cSJim Jagielski // Document: Supported properties
238*b1cdbd2cSJim Jagielski //
239*b1cdbd2cSJim Jagielski //=================================================================
240*b1cdbd2cSJim Jagielski
241*b1cdbd2cSJim Jagielski static const beans::Property aDocPropertyInfoTable[] =
242*b1cdbd2cSJim Jagielski {
243*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
244*b1cdbd2cSJim Jagielski // Mandatory properties
245*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
246*b1cdbd2cSJim Jagielski beans::Property(
247*b1cdbd2cSJim Jagielski rtl::OUString(
248*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "ContentType" ) ),
249*b1cdbd2cSJim Jagielski -1,
250*b1cdbd2cSJim Jagielski getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
251*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
252*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
253*b1cdbd2cSJim Jagielski ),
254*b1cdbd2cSJim Jagielski beans::Property(
255*b1cdbd2cSJim Jagielski rtl::OUString(
256*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "IsDocument" ) ),
257*b1cdbd2cSJim Jagielski -1,
258*b1cdbd2cSJim Jagielski getCppuBooleanType(),
259*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
260*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
261*b1cdbd2cSJim Jagielski ),
262*b1cdbd2cSJim Jagielski beans::Property(
263*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsFolder" ) ),
264*b1cdbd2cSJim Jagielski -1,
265*b1cdbd2cSJim Jagielski getCppuBooleanType(),
266*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
267*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
268*b1cdbd2cSJim Jagielski ),
269*b1cdbd2cSJim Jagielski beans::Property(
270*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Title" ) ),
271*b1cdbd2cSJim Jagielski -1,
272*b1cdbd2cSJim Jagielski getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
273*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
274*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
275*b1cdbd2cSJim Jagielski ),
276*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
277*b1cdbd2cSJim Jagielski // Optional standard properties
278*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
279*b1cdbd2cSJim Jagielski beans::Property(
280*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
281*b1cdbd2cSJim Jagielski "CreatableContentsInfo" ) ),
282*b1cdbd2cSJim Jagielski -1,
283*b1cdbd2cSJim Jagielski getCppuType( static_cast<
284*b1cdbd2cSJim Jagielski const uno::Sequence< ucb::ContentInfo > * >( 0 ) ),
285*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
286*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
287*b1cdbd2cSJim Jagielski ),
288*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
289*b1cdbd2cSJim Jagielski // New properties
290*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
291*b1cdbd2cSJim Jagielski beans::Property(
292*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DocumentModel" ) ),
293*b1cdbd2cSJim Jagielski -1,
294*b1cdbd2cSJim Jagielski getCppuType( static_cast<
295*b1cdbd2cSJim Jagielski const uno::Reference< frame::XModel > * >( 0 ) ),
296*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
297*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
298*b1cdbd2cSJim Jagielski )
299*b1cdbd2cSJim Jagielski };
300*b1cdbd2cSJim Jagielski return MAKEPROPSEQUENCE( aDocPropertyInfoTable );
301*b1cdbd2cSJim Jagielski }
302*b1cdbd2cSJim Jagielski else
303*b1cdbd2cSJim Jagielski {
304*b1cdbd2cSJim Jagielski //=================================================================
305*b1cdbd2cSJim Jagielski //
306*b1cdbd2cSJim Jagielski // Root: Supported properties
307*b1cdbd2cSJim Jagielski //
308*b1cdbd2cSJim Jagielski //=================================================================
309*b1cdbd2cSJim Jagielski
310*b1cdbd2cSJim Jagielski OSL_ENSURE( m_aProps.getType() == ROOT, "Wrong content type!" );
311*b1cdbd2cSJim Jagielski
312*b1cdbd2cSJim Jagielski static const beans::Property aRootPropertyInfoTable[] =
313*b1cdbd2cSJim Jagielski {
314*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////////
315*b1cdbd2cSJim Jagielski // Mandatory properties
316*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////////
317*b1cdbd2cSJim Jagielski beans::Property(
318*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ContentType" ) ),
319*b1cdbd2cSJim Jagielski -1,
320*b1cdbd2cSJim Jagielski getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
321*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
322*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
323*b1cdbd2cSJim Jagielski ),
324*b1cdbd2cSJim Jagielski beans::Property(
325*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsDocument" ) ),
326*b1cdbd2cSJim Jagielski -1,
327*b1cdbd2cSJim Jagielski getCppuBooleanType(),
328*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
329*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
330*b1cdbd2cSJim Jagielski ),
331*b1cdbd2cSJim Jagielski beans::Property(
332*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "IsFolder" ) ),
333*b1cdbd2cSJim Jagielski -1,
334*b1cdbd2cSJim Jagielski getCppuBooleanType(),
335*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
336*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
337*b1cdbd2cSJim Jagielski ),
338*b1cdbd2cSJim Jagielski beans::Property(
339*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Title" ) ),
340*b1cdbd2cSJim Jagielski -1,
341*b1cdbd2cSJim Jagielski getCppuType( static_cast< const rtl::OUString * >( 0 ) ),
342*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
343*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
344*b1cdbd2cSJim Jagielski ),
345*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////////
346*b1cdbd2cSJim Jagielski // Optional standard properties
347*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////////
348*b1cdbd2cSJim Jagielski beans::Property(
349*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(
350*b1cdbd2cSJim Jagielski "CreatableContentsInfo" ) ),
351*b1cdbd2cSJim Jagielski -1,
352*b1cdbd2cSJim Jagielski getCppuType( static_cast<
353*b1cdbd2cSJim Jagielski const uno::Sequence< ucb::ContentInfo > * >( 0 ) ),
354*b1cdbd2cSJim Jagielski beans::PropertyAttribute::BOUND
355*b1cdbd2cSJim Jagielski | beans::PropertyAttribute::READONLY
356*b1cdbd2cSJim Jagielski )
357*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////////
358*b1cdbd2cSJim Jagielski // New properties
359*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////////
360*b1cdbd2cSJim Jagielski };
361*b1cdbd2cSJim Jagielski return MAKEPROPSEQUENCE( aRootPropertyInfoTable );
362*b1cdbd2cSJim Jagielski }
363*b1cdbd2cSJim Jagielski }
364*b1cdbd2cSJim Jagielski
365*b1cdbd2cSJim Jagielski //=========================================================================
366*b1cdbd2cSJim Jagielski // virtual
getCommands(const uno::Reference<ucb::XCommandEnvironment> &)367*b1cdbd2cSJim Jagielski uno::Sequence< ucb::CommandInfo > Content::getCommands(
368*b1cdbd2cSJim Jagielski const uno::Reference< ucb::XCommandEnvironment > & /*xEnv*/ )
369*b1cdbd2cSJim Jagielski {
370*b1cdbd2cSJim Jagielski osl::Guard< osl::Mutex > aGuard( m_aMutex );
371*b1cdbd2cSJim Jagielski
372*b1cdbd2cSJim Jagielski if ( m_aProps.getType() == STREAM )
373*b1cdbd2cSJim Jagielski {
374*b1cdbd2cSJim Jagielski #ifdef NO_STREAM_CREATION_WITHIN_DOCUMENT_ROOT
375*b1cdbd2cSJim Jagielski Uri aUri( m_xIdentifier->getContentIdentifier() );
376*b1cdbd2cSJim Jagielski Uri aParentUri( aUri.getParentUri() );
377*b1cdbd2cSJim Jagielski
378*b1cdbd2cSJim Jagielski if ( aParentUri.isDocument() )
379*b1cdbd2cSJim Jagielski {
380*b1cdbd2cSJim Jagielski //=================================================================
381*b1cdbd2cSJim Jagielski //
382*b1cdbd2cSJim Jagielski // Stream, that is a child of a document: Supported commands
383*b1cdbd2cSJim Jagielski //
384*b1cdbd2cSJim Jagielski //=================================================================
385*b1cdbd2cSJim Jagielski
386*b1cdbd2cSJim Jagielski static const ucb::CommandInfo aStreamCommandInfoTable1[] =
387*b1cdbd2cSJim Jagielski {
388*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
389*b1cdbd2cSJim Jagielski // Mandatory commands
390*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
391*b1cdbd2cSJim Jagielski ucb::CommandInfo(
392*b1cdbd2cSJim Jagielski rtl::OUString(
393*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getCommandInfo" ) ),
394*b1cdbd2cSJim Jagielski -1,
395*b1cdbd2cSJim Jagielski getCppuVoidType()
396*b1cdbd2cSJim Jagielski ),
397*b1cdbd2cSJim Jagielski ucb::CommandInfo(
398*b1cdbd2cSJim Jagielski rtl::OUString(
399*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getPropertySetInfo" ) ),
400*b1cdbd2cSJim Jagielski -1,
401*b1cdbd2cSJim Jagielski getCppuVoidType()
402*b1cdbd2cSJim Jagielski ),
403*b1cdbd2cSJim Jagielski ucb::CommandInfo(
404*b1cdbd2cSJim Jagielski rtl::OUString(
405*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getPropertyValues" ) ),
406*b1cdbd2cSJim Jagielski -1,
407*b1cdbd2cSJim Jagielski getCppuType(
408*b1cdbd2cSJim Jagielski static_cast< uno::Sequence< beans::Property > * >( 0 ) )
409*b1cdbd2cSJim Jagielski ),
410*b1cdbd2cSJim Jagielski ucb::CommandInfo(
411*b1cdbd2cSJim Jagielski rtl::OUString(
412*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "setPropertyValues" ) ),
413*b1cdbd2cSJim Jagielski -1,
414*b1cdbd2cSJim Jagielski getCppuType(
415*b1cdbd2cSJim Jagielski static_cast<
416*b1cdbd2cSJim Jagielski uno::Sequence< beans::PropertyValue > * >( 0 ) )
417*b1cdbd2cSJim Jagielski ),
418*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
419*b1cdbd2cSJim Jagielski // Optional standard commands
420*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
421*b1cdbd2cSJim Jagielski ucb::CommandInfo(
422*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "delete" ) ),
423*b1cdbd2cSJim Jagielski -1,
424*b1cdbd2cSJim Jagielski getCppuBooleanType()
425*b1cdbd2cSJim Jagielski ),
426*b1cdbd2cSJim Jagielski ucb::CommandInfo(
427*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "open" ) ),
428*b1cdbd2cSJim Jagielski -1,
429*b1cdbd2cSJim Jagielski getCppuType(
430*b1cdbd2cSJim Jagielski static_cast< ucb::OpenCommandArgument2 * >( 0 ) )
431*b1cdbd2cSJim Jagielski )
432*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
433*b1cdbd2cSJim Jagielski // New commands
434*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
435*b1cdbd2cSJim Jagielski };
436*b1cdbd2cSJim Jagielski return MAKECMDSEQUENCE( aStreamCommandInfoTable1 );
437*b1cdbd2cSJim Jagielski }
438*b1cdbd2cSJim Jagielski #endif
439*b1cdbd2cSJim Jagielski //=================================================================
440*b1cdbd2cSJim Jagielski //
441*b1cdbd2cSJim Jagielski // Stream: Supported commands
442*b1cdbd2cSJim Jagielski //
443*b1cdbd2cSJim Jagielski //=================================================================
444*b1cdbd2cSJim Jagielski
445*b1cdbd2cSJim Jagielski static const ucb::CommandInfo aStreamCommandInfoTable[] =
446*b1cdbd2cSJim Jagielski {
447*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
448*b1cdbd2cSJim Jagielski // Mandatory commands
449*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
450*b1cdbd2cSJim Jagielski ucb::CommandInfo(
451*b1cdbd2cSJim Jagielski rtl::OUString(
452*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getCommandInfo" ) ),
453*b1cdbd2cSJim Jagielski -1,
454*b1cdbd2cSJim Jagielski getCppuVoidType()
455*b1cdbd2cSJim Jagielski ),
456*b1cdbd2cSJim Jagielski ucb::CommandInfo(
457*b1cdbd2cSJim Jagielski rtl::OUString(
458*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getPropertySetInfo" ) ),
459*b1cdbd2cSJim Jagielski -1,
460*b1cdbd2cSJim Jagielski getCppuVoidType()
461*b1cdbd2cSJim Jagielski ),
462*b1cdbd2cSJim Jagielski ucb::CommandInfo(
463*b1cdbd2cSJim Jagielski rtl::OUString(
464*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getPropertyValues" ) ),
465*b1cdbd2cSJim Jagielski -1,
466*b1cdbd2cSJim Jagielski getCppuType(
467*b1cdbd2cSJim Jagielski static_cast< uno::Sequence< beans::Property > * >( 0 ) )
468*b1cdbd2cSJim Jagielski ),
469*b1cdbd2cSJim Jagielski ucb::CommandInfo(
470*b1cdbd2cSJim Jagielski rtl::OUString(
471*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "setPropertyValues" ) ),
472*b1cdbd2cSJim Jagielski -1,
473*b1cdbd2cSJim Jagielski getCppuType(
474*b1cdbd2cSJim Jagielski static_cast<
475*b1cdbd2cSJim Jagielski uno::Sequence< beans::PropertyValue > * >( 0 ) )
476*b1cdbd2cSJim Jagielski ),
477*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
478*b1cdbd2cSJim Jagielski // Optional standard commands
479*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
480*b1cdbd2cSJim Jagielski ucb::CommandInfo(
481*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "delete" ) ),
482*b1cdbd2cSJim Jagielski -1,
483*b1cdbd2cSJim Jagielski getCppuBooleanType()
484*b1cdbd2cSJim Jagielski ),
485*b1cdbd2cSJim Jagielski ucb::CommandInfo(
486*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "insert" ) ),
487*b1cdbd2cSJim Jagielski -1,
488*b1cdbd2cSJim Jagielski getCppuVoidType()
489*b1cdbd2cSJim Jagielski ),
490*b1cdbd2cSJim Jagielski ucb::CommandInfo(
491*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "open" ) ),
492*b1cdbd2cSJim Jagielski -1,
493*b1cdbd2cSJim Jagielski getCppuType(
494*b1cdbd2cSJim Jagielski static_cast< ucb::OpenCommandArgument2 * >( 0 ) )
495*b1cdbd2cSJim Jagielski )
496*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
497*b1cdbd2cSJim Jagielski // New commands
498*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
499*b1cdbd2cSJim Jagielski };
500*b1cdbd2cSJim Jagielski return MAKECMDSEQUENCE( aStreamCommandInfoTable );
501*b1cdbd2cSJim Jagielski }
502*b1cdbd2cSJim Jagielski else if ( m_aProps.getType() == FOLDER )
503*b1cdbd2cSJim Jagielski {
504*b1cdbd2cSJim Jagielski //=================================================================
505*b1cdbd2cSJim Jagielski //
506*b1cdbd2cSJim Jagielski // Folder: Supported commands
507*b1cdbd2cSJim Jagielski //
508*b1cdbd2cSJim Jagielski //=================================================================
509*b1cdbd2cSJim Jagielski
510*b1cdbd2cSJim Jagielski static const ucb::CommandInfo aFolderCommandInfoTable[] =
511*b1cdbd2cSJim Jagielski {
512*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
513*b1cdbd2cSJim Jagielski // Mandatory commands
514*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
515*b1cdbd2cSJim Jagielski ucb::CommandInfo(
516*b1cdbd2cSJim Jagielski rtl::OUString(
517*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getCommandInfo" ) ),
518*b1cdbd2cSJim Jagielski -1,
519*b1cdbd2cSJim Jagielski getCppuVoidType()
520*b1cdbd2cSJim Jagielski ),
521*b1cdbd2cSJim Jagielski ucb::CommandInfo(
522*b1cdbd2cSJim Jagielski rtl::OUString(
523*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getPropertySetInfo" ) ),
524*b1cdbd2cSJim Jagielski -1,
525*b1cdbd2cSJim Jagielski getCppuVoidType()
526*b1cdbd2cSJim Jagielski ),
527*b1cdbd2cSJim Jagielski ucb::CommandInfo(
528*b1cdbd2cSJim Jagielski rtl::OUString(
529*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getPropertyValues" ) ),
530*b1cdbd2cSJim Jagielski -1,
531*b1cdbd2cSJim Jagielski getCppuType(
532*b1cdbd2cSJim Jagielski static_cast< uno::Sequence< beans::Property > * >( 0 ) )
533*b1cdbd2cSJim Jagielski ),
534*b1cdbd2cSJim Jagielski ucb::CommandInfo(
535*b1cdbd2cSJim Jagielski rtl::OUString(
536*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "setPropertyValues" ) ),
537*b1cdbd2cSJim Jagielski -1,
538*b1cdbd2cSJim Jagielski getCppuType(
539*b1cdbd2cSJim Jagielski static_cast<
540*b1cdbd2cSJim Jagielski uno::Sequence< beans::PropertyValue > * >( 0 ) )
541*b1cdbd2cSJim Jagielski ),
542*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
543*b1cdbd2cSJim Jagielski // Optional standard commands
544*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
545*b1cdbd2cSJim Jagielski ucb::CommandInfo(
546*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "delete" ) ),
547*b1cdbd2cSJim Jagielski -1,
548*b1cdbd2cSJim Jagielski getCppuBooleanType()
549*b1cdbd2cSJim Jagielski ),
550*b1cdbd2cSJim Jagielski ucb::CommandInfo(
551*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "insert" ) ),
552*b1cdbd2cSJim Jagielski -1,
553*b1cdbd2cSJim Jagielski getCppuVoidType()
554*b1cdbd2cSJim Jagielski ),
555*b1cdbd2cSJim Jagielski ucb::CommandInfo(
556*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "open" ) ),
557*b1cdbd2cSJim Jagielski -1,
558*b1cdbd2cSJim Jagielski getCppuType(
559*b1cdbd2cSJim Jagielski static_cast< ucb::OpenCommandArgument2 * >( 0 ) )
560*b1cdbd2cSJim Jagielski ),
561*b1cdbd2cSJim Jagielski ucb::CommandInfo(
562*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "transfer" ) ),
563*b1cdbd2cSJim Jagielski -1,
564*b1cdbd2cSJim Jagielski getCppuType( static_cast< ucb::TransferInfo * >( 0 ) )
565*b1cdbd2cSJim Jagielski ),
566*b1cdbd2cSJim Jagielski ucb::CommandInfo(
567*b1cdbd2cSJim Jagielski rtl::OUString(
568*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "createNewContent" ) ),
569*b1cdbd2cSJim Jagielski -1,
570*b1cdbd2cSJim Jagielski getCppuType( static_cast< ucb::ContentInfo * >( 0 ) )
571*b1cdbd2cSJim Jagielski )
572*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
573*b1cdbd2cSJim Jagielski // New commands
574*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
575*b1cdbd2cSJim Jagielski };
576*b1cdbd2cSJim Jagielski return MAKECMDSEQUENCE( aFolderCommandInfoTable );
577*b1cdbd2cSJim Jagielski }
578*b1cdbd2cSJim Jagielski else if ( m_aProps.getType() == DOCUMENT )
579*b1cdbd2cSJim Jagielski {
580*b1cdbd2cSJim Jagielski //=================================================================
581*b1cdbd2cSJim Jagielski //
582*b1cdbd2cSJim Jagielski // Document: Supported commands
583*b1cdbd2cSJim Jagielski //
584*b1cdbd2cSJim Jagielski //=================================================================
585*b1cdbd2cSJim Jagielski
586*b1cdbd2cSJim Jagielski static const ucb::CommandInfo aDocCommandInfoTable[] =
587*b1cdbd2cSJim Jagielski {
588*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
589*b1cdbd2cSJim Jagielski // Mandatory commands
590*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
591*b1cdbd2cSJim Jagielski ucb::CommandInfo(
592*b1cdbd2cSJim Jagielski rtl::OUString(
593*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getCommandInfo" ) ),
594*b1cdbd2cSJim Jagielski -1,
595*b1cdbd2cSJim Jagielski getCppuVoidType()
596*b1cdbd2cSJim Jagielski ),
597*b1cdbd2cSJim Jagielski ucb::CommandInfo(
598*b1cdbd2cSJim Jagielski rtl::OUString(
599*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getPropertySetInfo" ) ),
600*b1cdbd2cSJim Jagielski -1,
601*b1cdbd2cSJim Jagielski getCppuVoidType()
602*b1cdbd2cSJim Jagielski ),
603*b1cdbd2cSJim Jagielski ucb::CommandInfo(
604*b1cdbd2cSJim Jagielski rtl::OUString(
605*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getPropertyValues" ) ),
606*b1cdbd2cSJim Jagielski -1,
607*b1cdbd2cSJim Jagielski getCppuType(
608*b1cdbd2cSJim Jagielski static_cast< uno::Sequence< beans::Property > * >( 0 ) )
609*b1cdbd2cSJim Jagielski ),
610*b1cdbd2cSJim Jagielski ucb::CommandInfo(
611*b1cdbd2cSJim Jagielski rtl::OUString(
612*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "setPropertyValues" ) ),
613*b1cdbd2cSJim Jagielski -1,
614*b1cdbd2cSJim Jagielski getCppuType(
615*b1cdbd2cSJim Jagielski static_cast<
616*b1cdbd2cSJim Jagielski uno::Sequence< beans::PropertyValue > * >( 0 ) )
617*b1cdbd2cSJim Jagielski ),
618*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
619*b1cdbd2cSJim Jagielski // Optional standard commands
620*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
621*b1cdbd2cSJim Jagielski ucb::CommandInfo(
622*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "open" ) ),
623*b1cdbd2cSJim Jagielski -1,
624*b1cdbd2cSJim Jagielski getCppuType(
625*b1cdbd2cSJim Jagielski static_cast< ucb::OpenCommandArgument2 * >( 0 ) )
626*b1cdbd2cSJim Jagielski ),
627*b1cdbd2cSJim Jagielski ucb::CommandInfo(
628*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "transfer" ) ),
629*b1cdbd2cSJim Jagielski -1,
630*b1cdbd2cSJim Jagielski getCppuType( static_cast< ucb::TransferInfo * >( 0 ) )
631*b1cdbd2cSJim Jagielski ),
632*b1cdbd2cSJim Jagielski ucb::CommandInfo(
633*b1cdbd2cSJim Jagielski rtl::OUString(
634*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "createNewContent" ) ),
635*b1cdbd2cSJim Jagielski -1,
636*b1cdbd2cSJim Jagielski getCppuType( static_cast< ucb::ContentInfo * >( 0 ) )
637*b1cdbd2cSJim Jagielski )
638*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
639*b1cdbd2cSJim Jagielski // New commands
640*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
641*b1cdbd2cSJim Jagielski };
642*b1cdbd2cSJim Jagielski return MAKECMDSEQUENCE( aDocCommandInfoTable );
643*b1cdbd2cSJim Jagielski }
644*b1cdbd2cSJim Jagielski else
645*b1cdbd2cSJim Jagielski {
646*b1cdbd2cSJim Jagielski //=================================================================
647*b1cdbd2cSJim Jagielski //
648*b1cdbd2cSJim Jagielski // Root: Supported commands
649*b1cdbd2cSJim Jagielski //
650*b1cdbd2cSJim Jagielski //=================================================================
651*b1cdbd2cSJim Jagielski
652*b1cdbd2cSJim Jagielski OSL_ENSURE( m_aProps.getType() == ROOT, "Wrong content type!" );
653*b1cdbd2cSJim Jagielski
654*b1cdbd2cSJim Jagielski static const ucb::CommandInfo aRootCommandInfoTable[] =
655*b1cdbd2cSJim Jagielski {
656*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
657*b1cdbd2cSJim Jagielski // Mandatory commands
658*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
659*b1cdbd2cSJim Jagielski ucb::CommandInfo(
660*b1cdbd2cSJim Jagielski rtl::OUString(
661*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getCommandInfo" ) ),
662*b1cdbd2cSJim Jagielski -1,
663*b1cdbd2cSJim Jagielski getCppuVoidType()
664*b1cdbd2cSJim Jagielski ),
665*b1cdbd2cSJim Jagielski ucb::CommandInfo(
666*b1cdbd2cSJim Jagielski rtl::OUString(
667*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getPropertySetInfo" ) ),
668*b1cdbd2cSJim Jagielski -1,
669*b1cdbd2cSJim Jagielski getCppuVoidType()
670*b1cdbd2cSJim Jagielski ),
671*b1cdbd2cSJim Jagielski ucb::CommandInfo(
672*b1cdbd2cSJim Jagielski rtl::OUString(
673*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "getPropertyValues" ) ),
674*b1cdbd2cSJim Jagielski -1,
675*b1cdbd2cSJim Jagielski getCppuType(
676*b1cdbd2cSJim Jagielski static_cast< uno::Sequence< beans::Property > * >( 0 ) )
677*b1cdbd2cSJim Jagielski ),
678*b1cdbd2cSJim Jagielski ucb::CommandInfo(
679*b1cdbd2cSJim Jagielski rtl::OUString(
680*b1cdbd2cSJim Jagielski RTL_CONSTASCII_USTRINGPARAM( "setPropertyValues" ) ),
681*b1cdbd2cSJim Jagielski -1,
682*b1cdbd2cSJim Jagielski getCppuType(
683*b1cdbd2cSJim Jagielski static_cast<
684*b1cdbd2cSJim Jagielski uno::Sequence< beans::PropertyValue > * >( 0 ) )
685*b1cdbd2cSJim Jagielski ),
686*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
687*b1cdbd2cSJim Jagielski // Optional standard commands
688*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
689*b1cdbd2cSJim Jagielski ucb::CommandInfo(
690*b1cdbd2cSJim Jagielski rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "open" ) ),
691*b1cdbd2cSJim Jagielski -1,
692*b1cdbd2cSJim Jagielski getCppuType(
693*b1cdbd2cSJim Jagielski static_cast< ucb::OpenCommandArgument2 * >( 0 ) )
694*b1cdbd2cSJim Jagielski )
695*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
696*b1cdbd2cSJim Jagielski // New commands
697*b1cdbd2cSJim Jagielski ///////////////////////////////////////////////////////////
698*b1cdbd2cSJim Jagielski };
699*b1cdbd2cSJim Jagielski return MAKECMDSEQUENCE( aRootCommandInfoTable );
700*b1cdbd2cSJim Jagielski }
701*b1cdbd2cSJim Jagielski }
702